2016-07-20 3 views
0

ich bin auf einem ipad app arbeiten, und ich brauche etwas Hilfe für das Layout eines Bildschirms:iOS Layout Spalte zu Zeile

der Bildschirm habe nur zwei Spalten in der Landschaft und im Portrait 3 Spalten angezeigt werden und 1 Reihe unten.

Zwischen Auto-Layout und UICollectionView, welches ist der beste Ansatz und wie?

Vielen Dank im Voraus ^^


bearbeiten 07/25/2016

Ich mag ein Vorschlag der Menge Matt und ich haben begonnen, diese Lösung (2 UIStackViews) Umsetzung aber jetzt i‘ m stecken mit den bedingten Einschränkungen:

meine Xib ist parametrisiert, um in einer Landschaft simulierten Metrik angezeigt werden (nicht sicher, dass es irgendwelche Konsequenzen hat, aber jetzt im Zweifelsfall ...)

Ich habe es geschafft, die root UIStackView-Achse abhängig von der Ausrichtung (vertikal für Hochformat oder horizontal für Querformat) zu aktualisieren, indem Sie die UIDevice-Ausrichtung Änderung Benachrichtigungen zu hören.

Ich habe diese Stamm-UIStackView-Verteilungseigenschaft mit "Proportional füllen" parametrisiert, aber die Ansicht wird nicht sehr gut angezeigt. Im Porträt ist die untere „Reihe“ nach Ansicht der Höhe zu groß ist und in der Landschaft nur die beiden Spalten in dem Kind UIStackView zu sehen ist (die letzte Sicht auf den Bildschirm des rechten Randes aus

Antwort

0

Zwischen Auto-Layout und UICollectionView, der beste Ansatz ist und wie?

die wirklich sind zwei sehr verschiedene Dinge. Wenn Sie ein paar Elemente, die angelegt nacheinander werden müssen, verwenden Sie eine Sammlung Ansicht mit einem Gitter Sie können Beschränkungen und automatische Layouts verwenden, um die Abmessungen der Sammlungsansicht anzupassen, wenn das Gerät gedreht wird, und anschließend die einzelnen Elemente (Zellen) in der Sammlungsansicht anzeigen lassen Eine Sache, die Sie wahrscheinlich tun müssen, um diese Arbeit gut zu machen, besteht darin, die Größe der Zellen so anzupassen, dass der Abstand zwischen ihnen konstant bleibt.

+0

danke für die erleuchtung mich – Mushu8

1

der Bildschirm haben 3 Spalten in Landschaft angezeigt werden und nur 2 Spalten und 1 Zeile unterhalb

Überall dort, wo Spalten und Zeilen beteiligt sind, sollten Sie im Portrait mit UIStackView betrachten. Sie können Ihre gesamte Oberfläche im Interface Builder erstellen, indem Sie Ihre Ansichten in UIStackView einfügen und möglicherweise sogar die enthaltenen UIStackViews in eine UIStackView einfügen (um beispielsweise drei Spalten in eine einzelne Zeile zu setzen). Sie können bedingte Einschränkungen/Ansichten verwenden, um die Oberfläche im Hoch- und Querformat unterschiedlich darzustellen. Daher wird das gesamte von Ihnen beschriebene Verhalten wahrscheinlich überhaupt keinen Code erfordern.

+0

vielen Dank, Ihr Vorschlag behoben mein Problem ^^ – Mushu8

Verwandte Themen