Für mich war Daniels Lösung sehr hilfreich, funktionierte aber nicht. Hier sind die aktualisierten Schritte:
1) Fügen Sie im Storyboard eine Bildlaufansicht hinzu und beschränken Sie die Kanten auf die Kanten der Hauptansicht oder auf andere geeignete Weise
2) Fügen Sie in der Bildlaufansicht eine einfache alte UIView als Container hinzu. Beschränken Sie sie auf alle 4 Kanten der Bildlaufansicht, ABER HINZUFÜGEN Sie auch eine Einschränkung der gleichen Breite relativ zur übergeordneten Bildlaufansicht (höchste Ansicht) und eine Beschränkung gleicher Höhe auf die übergeordnete Ansicht der Bildlaufansicht
3) Sehr wichtig: setze eine niedrige Priorität für die Beschränkung gleicher Höhe, z. 250.
Versuchen Sie, die Höhe der Laufzeit des Moduls zu definieren und die automatische Layout-Integritätsbedingung für Module programmgesteuert hinzuzufügen.
%Vor%Ich war in der Lage, dynamische Scroll-Ansichten zu erstellen, die komplett aus Storyboards, ohne Code, bestehen, mit den folgenden Schritten:
1) Fügen Sie im Storyboard eine Bildlaufansicht hinzu und beschränken Sie die Kanten auf die Kanten der Hauptansicht oder auf andere geeignete Weise
2) Fügen Sie in der Bildlaufansicht eine einfache alte UIView als Container hinzu. Beschränken Sie es auf alle 4 Kanten der Bildlaufansicht, ABER HINZUFÜGEN Sie außerdem eine Einschränkung gleiche Breite relativ zur Bildlaufansicht und eine Beschränkung gleiche Höhe für die Bildlaufansicht
3) Sehr wichtig: setze eine niedrige Priorität für die Beschränkung gleicher Höhe, z. 250.
4) Fügen Sie in der Containeransicht, die Sie in Schritt 2 hinzugefügt haben, Ihre drei Module hinzu. Beschränken Sie die Oberkante des ersten Moduls an den Anfang der Containeransicht, legen Sie die Unterkante des letzten Moduls an den unteren Rand der Containeransicht fest, und beschränken Sie alle Zwischenmodule auf das vorherige Modul in der Kette. Dies sollte Ihnen die Kette ungebrochener vertikaler Beschränkungen innerhalb der Containeransicht geben. Sie müssen jedem Modul auch die geeigneten x-Positionierungs- / Breiteneinschränkungen hinzufügen.
5) Baue und laufe! Die Inhaltsgröße für die Bildlaufansicht sollte automatisch der Gesamthöhe aller Module und dem Abstand zwischen ihnen entsprechen. Wenn Sie den Inhalt des Moduls dynamisch ändern, wird die Inhaltsgröße der Bildlaufansicht über das automatische Layout aktualisiert, sodass kein expliziter Code berechnet und aktualisiert werden muss. p>
Ich habe tatsächlich Schwierigkeiten, meinen %code% vollständig reaktionsfähig zu machen, indem ich nur Storyboard-Einschränkungen verwende.
Hier ist meine Hierarchie:
%Vor%Alle Module werden zum Anzeigen von Diagrammen verwendet. Ich möchte, dass sie reagieren . Ich möchte, dass ihre Breite 100% des Bildschirms beträgt und dass ihre Höhe durch ein ratio definiert wird, das mithilfe von Constraint hinzugefügt wird. Die Module werden nebeneinander wie Nachrichten in einem Newsfeed angezeigt.
Meine Frage ist: Wie setzt man die %code% height auf die Summe aller Module (Modul 1 + 2 + 3)?
Mit anderen Worten möchte ich erreichen:
- Anfang des InhaltsView = oberstes von Modul 1
- Oberseite von Modul 2 = Unterseite von Modul 1
- Oberseite von Modul 2 = Unterseite von Modul 2
- Unten von contentView = unten von Modul 3
Um das zu tun, folge ich ein Tutorial im Internet gefunden. Hier sind die Schritte, denen ich gefolgt bin:
Ich habe versucht, die Höhe von %code% zu erzwingen: Es funktioniert, aber es reagiert nicht. Da die Höhe des Moduls durch ein Verhältnis berechnet wird, ändert sich je nach Gerät die Höhe "Modul 1 + 2 + 3" während der Änderung.
Ich habe versucht, eine Einschränkung von Modul 3 zu %code% hinzuzufügen, um den unteren Teil von Modul 3 = unten von %code% zu setzen. Alle Beschränkungen werden überall rot mit Warnung.
Haben Sie eine Idee, wie Sie die Höhe von %code% basierend auf einem responsiven Inhalt einstellen können? (Wie "Wrap-Content in einer Weise).
Vielen Dank im Voraus für Sie Hilfe!
Ich habe tatsächlich Schwierigkeiten, meinen UIScrollView
vollständig reaktionsfähig zu machen, indem ich nur Storyboard-Einschränkungen verwende.
Hier ist meine Hierarchie:
%Vor%Alle Module werden zum Anzeigen von Diagrammen verwendet. Ich möchte, dass sie reagieren . Ich möchte, dass ihre Breite 100% des Bildschirms beträgt und dass ihre Höhe durch ein ratio definiert wird, das mithilfe von Constraint hinzugefügt wird. Die Module werden nebeneinander wie Nachrichten in einem Newsfeed angezeigt.
Meine Frage ist: Wie setzt man die contentView
height auf die Summe aller Module (Modul 1 + 2 + 3)?
Mit anderen Worten möchte ich erreichen:
- Anfang des InhaltsView = oberstes von Modul 1
- Oberseite von Modul 2 = Unterseite von Modul 1
- Oberseite von Modul 2 = Unterseite von Modul 2
- Unten von contentView = unten von Modul 3
Um das zu tun, folge ich ein Tutorial im Internet gefunden. Hier sind die Schritte, denen ich gefolgt bin:
UIScrollView
constraints festlegen, wird der Ort und die Position definiert. UIScrollView
oben , unten , links und den rechten Abstand auf den nächsten Nachbarn von 0 . contentView
auf den Wert
unten in Modul 3, damit UIScrollview
bis zum Ende scrollen kann
Inhalt. Ich habe versucht, die Höhe von UIScrollView
zu erzwingen: Es funktioniert, aber es reagiert nicht. Da die Höhe des Moduls durch ein Verhältnis berechnet wird, ändert sich je nach Gerät die Höhe "Modul 1 + 2 + 3" während der Änderung.
Ich habe versucht, eine Einschränkung von Modul 3 zu contentView
hinzuzufügen, um den unteren Teil von Modul 3 = unten von contentView
zu setzen. Alle Beschränkungen werden überall rot mit Warnung.
Haben Sie eine Idee, wie Sie die Höhe von contentView
basierend auf einem responsiven Inhalt einstellen können? (Wie "Wrap-Content in einer Weise).
Vielen Dank im Voraus für Sie Hilfe!
Ich war in der Lage, dynamische Scroll-Ansichten zu erstellen, die komplett aus Storyboards, ohne Code, bestehen, mit den folgenden Schritten:
1) Fügen Sie im Storyboard eine Bildlaufansicht hinzu und beschränken Sie die Kanten auf die Kanten der Hauptansicht oder auf andere geeignete Weise
2) Fügen Sie in der Bildlaufansicht eine einfache alte UIView als Container hinzu. Beschränken Sie es auf alle 4 Kanten der Bildlaufansicht, ABER HINZUFÜGEN Sie außerdem eine Einschränkung gleiche Breite relativ zur Bildlaufansicht und eine Beschränkung gleiche Höhe für die Bildlaufansicht
3) Sehr wichtig: setze eine niedrige Priorität für die Beschränkung gleicher Höhe, z. 250.
4) Fügen Sie in der Containeransicht, die Sie in Schritt 2 hinzugefügt haben, Ihre drei Module hinzu. Beschränken Sie die Oberkante des ersten Moduls an den Anfang der Containeransicht, legen Sie die Unterkante des letzten Moduls an den unteren Rand der Containeransicht fest, und beschränken Sie alle Zwischenmodule auf das vorherige Modul in der Kette. Dies sollte Ihnen die Kette ungebrochener vertikaler Beschränkungen innerhalb der Containeransicht geben. Sie müssen jedem Modul auch die geeigneten x-Positionierungs- / Breiteneinschränkungen hinzufügen.
5) Baue und laufe! Die Inhaltsgröße für die Bildlaufansicht sollte automatisch der Gesamthöhe aller Module und dem Abstand zwischen ihnen entsprechen. Wenn Sie den Inhalt des Moduls dynamisch ändern, wird die Inhaltsgröße der Bildlaufansicht über das automatische Layout aktualisiert, sodass kein expliziter Code berechnet und aktualisiert werden muss. p>
Für mich war Daniels Lösung sehr hilfreich, funktionierte aber nicht. Hier sind die aktualisierten Schritte:
1) Fügen Sie im Storyboard eine Bildlaufansicht hinzu und beschränken Sie die Kanten auf die Kanten der Hauptansicht oder auf andere geeignete Weise
2) Fügen Sie in der Bildlaufansicht eine einfache alte UIView als Container hinzu. Beschränken Sie sie auf alle 4 Kanten der Bildlaufansicht, ABER HINZUFÜGEN Sie auch eine Einschränkung der gleichen Breite relativ zur übergeordneten Bildlaufansicht (höchste Ansicht) und eine Beschränkung gleicher Höhe auf die übergeordnete Ansicht der Bildlaufansicht
3) Sehr wichtig: setze eine niedrige Priorität für die Beschränkung gleicher Höhe, z. 250.
Tags und Links objective-c ios uiscrollview xcode-storyboard