iOS-8 - UIScrollView nicht scrollen
Möchte ich den vertikalen Bildlauf hängt davon ab, Inhalte in Inhalt Anzeigen. Ich habe folgende Hierarchie: Ansicht -> Scroll-View -> Inhalt Anzeigen.
- Ich gepinnt (oben, unten, Links, rechts) Scroll-View der Hauptansicht
- Ich ebenfalls fixiert Inhalt Anzeigen der Scroll-View
- Dann habe ich Gleiche Breite und Gleichen Höhe constraints zwischen Inhalt Anzeigen und Hauptansicht um Scroll-View rechnen konnte, es ist Inhalt Größe
Nach all diesen Aktionen, Scroll-View nicht scrollen überhaupt (es ist einfach schrumpft der Inhalt). Es scrollt nur wenn ich scrollView.contentSize.Höhe der viewWillLayoutSubviews(). Aber ich will nicht zu fest in dieser Höhe Wert. Ich dachte Autolayout sollte automatisch berechnen, Inhalt, Höhe und fügen Sie entsprechende scrollen. Kennt jemand den richtigen Weg, um dieses problem zu lösen?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich hatte das gleiche Problem. Ich habe es behoben durch löschen des scroll-view Zwängen und dann die Einstellung der scroll-view s-frame gleich dem view-frame in viewDidAppear:
Das Problem tritt auf, wenn Sie die scroll-view wird die Breite und Höhe in storyboard gleich der Ansicht, so sehen Sie den vollständigen Inhalt. Es ist perfekt für die Bearbeitung, aber wenn Sie führen Sie Ihre app aus, die Ansicht frame-Größe ist anders, basierend auf dem iPhone oder iPad, aber die scroll-view s-frame-Größe ändert sich nicht. Es ist immer noch die gleiche Größe, die Sie in das storyboard.
Deshalb die scroll-view funktioniert nur, wenn Sie hart code die Größe des Inhalts an einen zufällig großen Wert. Dieser Wert muss größer sein, als der aktuelle scroll-view s-frame-Größe, um für Sie zu arbeiten. Wenn Sie die scroll-view s-frame, gleich die Ansicht des Rahmens, der Größe des Inhalts Einstellung funktioniert richtig:
Entfernen Sie diesen Teil. Setzen Untersichten innerhalb der
scrollView
und die Zugabe oben, unten, führende und nachfolgende Einschränkungen sollte es genug sein.Wenn Sie erstellt haben die gleichen Höhen-Einschränkung (und gleich breiten), Sie verhindert Ihre Inhalte aus der Anpassung der eigenen Größe, die durch die automatische layout-Berechnung der
scrollView.contentSize
Sie können halten die gleiche Breite mit Einschränkungen, wenn Sie möchten, dass Ihre
scrollView
nur vertikal scrollen.Den content-frame anzeigen muss größer sein als die scrollview legen Sie dann die contentSize zu gewährleisten, die Auswahl zu Blättern.
Warum brauchen Sie ein content-anzeigen im inneren des scrollView? Es klingt wie Sie Ihre Inhalte Anzeigen wird, was die re-sizing Ihren Inhalt und Ihre scroll-view die Größe des Inhalts festgelegt wird, um Ihre Inhalte Anzuzeigen, die nicht dynamisch geändert. Versuchen Sie, das Layout der Inhalte in der scroll-Ansicht selbst, so dass die scroll-views-Inhalte, wird die Größe tatsächlich ändern sich, je nachdem, was drin ist. Stellen Sie sicher, dass Ihre Update-scrollView.contentSize!