Wenn ich UIScrollView in iOS 7 und Xcode 5 verwenden wollte, reagiert es nicht auf vertikales Scrollen. Zuerst ziehe ich ScrollView aus der Objektbibliothek in das Storyboard und lege die Größe auf width = 320 und height = 1500 fest, ziehe dann drei Beschriftungen mit der Maus nach y = 300, 800, 1200. Für Beschriftungen mit y-Koordinate Da es sich um 800 und 1200 handelt, verschiebe ich scrollview zuerst in den oberen Bereich, um diese Objekte auf die entsprechenden y-Werte zu setzen. Dann verbinde ich scrollview mit der Implementierungsdatei als outlet und in viewDidLoad
method schreibe ich self.myScrollView.contentSize = CGSizeMake(320, 1500)
. Und schließlich die Größe der scrollview bei width = 320 und height = 568 zurück.
Und dann den Simulator ausführen, aber es reagiert nicht auf vertikales Scrollen. Dann habe ich use autolayout
abgewählt und den Simulator erneut ausgeführt, es funktioniert immer noch nicht.
Wie kann ich das Problem beheben? Oder kann mir irgendjemand nützliche Tutorials über UIScrollView in iOS 7 und Xcode 5 mitteilen (das ist wichtig, da jedes Tutorial, das ich gelesen habe, auf der vorherigen Version basiert)?
Ich benutze Xcode 5.0.2.
Danke.
Ich habe self.myScrollView.contentSize = CGRectMake(320, 1500);
von viewWillAppear
auf viewDidLoad
geändert und starte den Simulator, dann funktioniert das Scrollen aus irgendwelchen Gründen jetzt. Wie ich im ursprünglichen Post gesagt habe, habe ich es zuerst in viewDidLoad
geschrieben und nach dem Lesen von kkocabiyiks Antwort zu viewWillAppear
verschoben. Ich bin mir nicht sicher, warum mein ursprünglicher Code nicht funktioniert hat - vielleicht weil ich meinen Code während meiner Hilfe von Mani und Rashad leicht modifiziert habe, aber den obigen Code gleichzeitig in viewWillAppear
gehalten habe.
Für diejenigen, die in derselben Falle gefangen wären und in Zukunft zu dieser Frage kommen würden, konnte ich das Problem mit diesen Einstellungen beheben:
self.myScrollView.contentSize = CGSizeMake(320, 1500);
in viewDidLoad
Beachten Sie auch, dass die Verwendung des automatischen Layouts nicht funktioniert. Auch die Verwendung von automatischem Layout und die Einstellung von contentsize in viewWillAppear
funktioniert nicht.
Ich würde gerne alle schätzen, die mir in dieser Frage helfen. Danke.
Es spielt keine Rolle, ob Sie den Rahmen eines Elements ändern, wenn Sie AutoLayout verwenden. View Frames mit AutoLayout werden von ihm behandelt, so dass es ignoriert, was Sie in viewDidLoad
Methode getan haben. Wenn Sie müssen AutoLayout verwenden, können Sie kopieren, was Sie getan haben in viewDidLoad
bis viewDidAppear
, so dass es die ganze Arbeit getan wird, nachdem AutoLayout es funktioniert.
Dieses Tutorial hat mein Leben mit Scrollviews gerettet: Scroll Automatisches Layout-Lernprogramm anzeigen
Ich hatte auch das gleiche Problem mit Xcode 6. Folgen Sie diesen Schritten , es ist wirklich sehr hilfreich und spart Ihre Zeit .
onOffScroll.contentSize = CGSizeMake(content width,content height);
Verwenden Sie die Methode viewDidLayoutSubviews
und verwenden Sie den Code in dieser Methode.
Es kann dir helfen.
Ich hatte ein Problem, bei dem meine Bildlaufansicht nicht funktionierte, wenn ich ein TextField oder ein Bild hinzufügte. Ich löste dieses Problem, indem ich alles in eine STACK VIEW legte. Dann, als ich es durch mein Telefon lief, konnte ich scrollen.
Tags und Links objective-c ios xcode uiscrollview