UiscrollViews-Unteransichten, die sich nicht auf Porträt in der Landschaftsorientierungsänderung ändern

StackOverflow https://stackoverflow.com//questions/21017318

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.

War es hilfreich?

Lösung

Versuchen Sie dies: Dieses Problem wird von Einschränkungen nur lösen.Ich habe ein Projekt erstellt und mit korrekten Einschränkungen seine fein für mich fein für mich ,

Hier werde ich Ihnen zeigen, wie Sie die korrekte Einschränkung nacheinander hinzufügen:

    .
  1. ScrollView hinzufügen und Bemerkungen für Scrollview nur wie in den Screenshots hinzufügen:

Bildbeschreibung hier eingeben

generasacodicetagpre.

Bildbeschreibung hier eingeben

Andere Tipps

scollviews spielen Sie nicht sehr gut mit Einschränkungen . Hier ist ein Ansatz, mit dem Einschränkungen und den Schnittstellenbauer, der für mich funktioniert, um einen vertikal scrolling scrollview zu haben

  • 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:

UiscrollView mit Einschränkungen in Interface Builder

Sie können die UIViewautoressizing-Maske (AutorenventridMask-Eigenschaft) Ihrer Unteransichten verwenden.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top