UiscrollViews-Unteransichten, die sich nicht auf Porträt in der Landschaftsorientierungsänderung ändern
-
21-12-2019 - |
Frage
In meiner App habe ich eine Hierarchie wie Hauptansicht -> UiscrollView -> UisesearchBar.Die Suchleiste deckt die gesamte Breite des Bildschirms ab.Wenn es jedoch in die Landschaft wechselt, passen sich der ScrollView an, passen sich den ScollView entsprechend der Landschaft ein und decken den gesamten Bildschirm, aber seine Unteransichten wie die UISEARCHBAR-Breite bleiben wie im Porträt.Außerdem verwende ich Autolayout und habe in der Storyboard korrekt ihre Einschränkungen (führend und nach links, Breite (größer als 320) usw.) eingestellt.
Ich weiß auch, dass es dabei mehrere Antworten gibt, aber fast jeder sagt, dass die Breite wieder in WILTORORORATE eingestellt ist.Ich habe jedoch rund 15 Unteransichten in UiscrollView, was ich denke, dass ich nicht programmatisch (als Erhöhung der LOC) plus festgelegt habe.
Lösung
Versuchen Sie dies:
Dieses Problem wird von
.
- ScrollView hinzufügen und Bemerkungen für Scrollview nur wie in den Screenshots hinzufügen:
generasacodicetagpre.
Andere Tipps
scollviews spielen Sie nicht sehr gut mit
- scollView in einem Ansichtscontroller, der mit Einschränkungen positioniert ist
- ein Container (uiview), der ein subview des scrollviews positioniert ist, der mit den Einschränkungen installiert ist, die jede Kante an den SuperView anstecken
- Fügen Sie stattdessen alle zusätzlichen Unteransichten in die Container-Ansicht hinzu. Verwenden Sie Beschränkungen. Überschreiten Sie die Höhe des ScrollView, um einen vertikal scrolling scrollview zu erhalten.
Es gibt jedoch einen Trick, um die Größe der Rotation zu erhalten, um automagisch zu arbeiten:
- Sie müssen in der Containeransicht eine
zusätzliche Einschränkung hinzufügen, um die breite an die UISCrollView's width anzupassen. Es ist seltsam, dass Sie dies tun müssen, da jede Seite an den Scrollview den Trick anstecken sollte, aber leider funktioniert es nicht mit der Rotation, wenn Sie nicht die zusätzliche Einschränkung hinzufügen.
hier meine ich:
Sie können die UIViewautoressizing-Maske (AutorenventridMask-Eigenschaft) Ihrer Unteransichten verwenden.