Articles

UIScrollView Autolayout in einem Storyboard. Eine Schritt-für-Schritt-Anleitung.

  1. Zunächst fügen wir eine UIScrollView zur Hauptansicht hinzu (das kann die gesamte Ansicht oder eine andere kleine Ansicht sein, die Sie haben. Wie auch immer, von nun an bezeichne ich das als „Hauptansicht“) und fügen oben, unten, links und rechts Beschränkungen hinzu.

Oben, unten, links und rechts Beschränkungen (in Bezug auf die Hauptansicht)

2. Danach fügen wir eine UIView innerhalb der UIScrollView hinzu (diese View ist ein wesentlicher Schritt, damit das Autolayout korrekt funktioniert). Ich nannte sie ‚Content View‘ und fügte oben, unten, links und rechts Einschränkungen in Bezug auf die ScrollView hinzu. Außerdem habe ich gleiche Höhen und Breiten in Bezug auf die Hauptansicht hinzugefügt.

Oben, Unten, Linke und rechte Einschränkungen (in Bezug auf die Scrollansicht)

Gleiche Breiten und Höhen (in Bezug auf die Hauptansicht)

3. Der nächste Schritt hängt davon ab, ob Sie einen vertikalen oder einen horizontalen Bildlauf haben möchten. Wenn Sie einen vertikalen Bildlauf benötigen, müssen Sie die Priorität „Gleiche Höhenbeschränkung“ auf 250 setzen. Wenn Sie hingegen einen horizontalen Bildlauf wünschen, müssen Sie die Priorität „Gleiche Breite“ auf 250 setzen.

Erlaubt einen vertikalen Bildlauf.

Ermöglicht einen horizontalen Bildlauf.

4. Die Bildlauf-Ansicht ist nun eingerichtet und einsatzbereit! Sie können nun mit dem Hinzufügen von Inhalten beginnen, müssen aber beachten, dass die Höhe der „Inhaltsansicht“ nicht mehrdeutig sein darf. Das bedeutet, dass für jede Ansicht eine Höhenbeschränkung definiert werden muss (Höhe gleich X oder kleiner oder gleich X) und dass alle Komponenten (oder zumindest eine durchgehende Reihe von Komponenten von oben nach unten) einen vertikalen Abstand zueinander haben müssen.

Darüber hinaus müssen die oberste und die unterste Komponente einen Abstand nach oben bzw. nach unten zur „Inhaltsansicht“ haben.

5a) Vertikale ScrollView – Beispiel für die Einrichtung von Komponenten