9 Stimmen

Wie verwendet man die Scroll-Ansicht auf dem iPhone?

Ich möchte einen Text mit vielen Zeilen anzeigen. Ich habe eine mehrzeilige Beschriftung zu einer Bildlaufansicht hinzugefügt, aber es wurde nichts angezeigt. Es sieht so aus, als ob dies nicht der richtige Weg ist, um die Bildlaufansicht zu verwenden. Wie kann man die Bildlaufansicht so verwenden, dass die Benutzer nach unten ziehen können, um mehr Text zu sehen?

21voto

Rog Punkte 16916

Apples UIScollView-Dokumentation ist recht gut, Sie sollten dort anfangen und die Klasse verstehen.

Stellen Sie sich eine Scrollview als eine große Ansichtsfläche vor, über die der Bildschirm gleitet*. Sie können dem Scrollview Unteransichten hinzufügen und dann ist das Scrollen wie das Positionieren des Bildschirms über dem Scrollview - der Bildschirm wirkt wie ein Fenster, durch das Sie einen Teil des Inhalts des Scrollviews darunter sehen können.

Um dies zu tun, hat eine Scrollview einige zusätzliche Eigenschaften gegenüber einer normalen UIView - aber es ist wie eine UIView in einem wichtigen Punkt: es rendert keinen Inhalt direkt selbst. Sie müssen eine Unteransicht hinzufügen, um Ihren Text zu zeichnen. Ein Scrollview wird genauso eingerichtet und angezeigt wie ein UIView - d.h. Sie setzen den Rahmen, fügen ihn zu einer anderen Ansicht hinzu und um Ihren Text anzuzeigen, müssen Sie dem UIScrollView Unteransichten hinzufügen, die den Text tatsächlich darstellen können.

Um eine einfache UIScrollView einzurichten, sollten Sie sie wie eine normale Vollbildansicht erstellen - stellen Sie den Rahmen so ein, dass er die gleiche Größe wie das Fenster hat, und fügen Sie die ScrollView dem Fenster als Unteransicht hinzu. Dann erstellen Sie eine große UITextView, die Ihren Text enthält. Die UIText-Ansicht kann so groß sein, wie Sie möchten - insbesondere kann sie größer als der Bildschirm sein. Legen Sie die Eigenschaft contentSize der UIScrollView so fest, dass sie dem Rahmen der UITextView entspricht, und fügen Sie dann die UIText-Ansicht als Unteransicht der UIScrollView hinzu.

Sobald dies funktioniert, können Sie den Inhalt automatisch mit der Eigenschaft contentOffset verschieben, das Zoomen kontrollieren und einen Delegaten zur Beobachtung von Bildlaufereignissen einrichten.

* genauer gesagt, über die der Rahmen gleitet, aber ich nehme an, Sie sind ein Vollbild UIScrollView machen. Ich bin sicher, Sie können es verallgemeinern, wenn Sie eine kleinere Ansicht wünschen.

10voto

Andy Bourassa Punkte 1838

Sie können einfach eine UITextView verwenden. Es ist ein Kind von UIScrollView, und wenn Sie seine Texteigenschaft auf eine Textmenge setzen, die nicht in seinen Rahmen passt, wird die Ansicht scrollbar.

1voto

Victor Konshin Punkte 11

Ich habe UIScrollView auf diese Weise für ein Anleitungsfenster in einer meiner Anwendungen verwendet. Es hat funktioniert, aber ich war mit dem Ergebnis nicht zufrieden. Ich bin dann auf eine UIWebView umgestiegen und war mit dem Ergebnis viel zufriedener. Die Größe der Scroll-Ansicht wird automatisch angepasst, ich erhalte alle Formatierungsmöglichkeiten von HTML und kann Links zu zusätzlichen Informationen (oder externen Websites) einfügen, ohne dass ich eine weitere HTML-Datei und vielleicht etwas Delegate-Code hinzufügen muss. Hier ist der Code, den ich verwendet habe (und ich habe die HTML-Datei zu meiner App als Ressource hinzugefügt):

NSString *path = [[NSBundle mainBundle] pathForResource:@"instructions" ofType:@"html"];
NSFileHandle *readHandle = [NSFileHandle fileHandleForReadingAtPath:path];
NSString *htmlString = [[NSString alloc] initWithData: [readHandle readDataToEndOfFile] encoding:NSUTF8StringEncoding];
[self.instructionsView loadHTMLString:htmlString baseURL:nil];

1voto

Susan Punkte 91

U kann sich auf diese Website beziehen http://www.edumobile.org/iphone/iphone-programming-tutorials/scrollview-example-in-iphone/

U folgen Sie den Schritt für Schritt, um die Scroll-Ansicht in iphone zu machen...viel Glück:)

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X