webentwicklung-frage-antwort-db.com.de

Was ist der Unterschied zwischen einer UIStackView und einer UICollectionView in Xcode 7?

Was ist der Unterschied zwischen einer UIHorizontalStackView und einer Sammlungsansicht (auch vertikale Stapelansicht)?

Kann eine collectionView nicht horizontal und vertikal sein? Warum sollten die Leute beides benutzen?

Was kann eine UIStackView in einer Sammlungsansicht nicht?

10
nachshon f
  1. UICollectionView ist wie ein Raster, UIStackView ist nur für eine Dimension: vertikal oder horizontal. 

UICollectionView ist wie UITableView, unterstützt jedoch mehr als einspaltige Layouts.

Sammlungsansichten bieten die gleiche allgemeine Funktion wie Tabellensichten , Mit der Ausnahme, dass eine Sammlungsansicht mehr als nur einspaltige Layouts unterstützt. Sammlungsansichten unterstützen anpassbare Layouts , Die zum Implementieren von mehrspaltigen Rastern, gekachelten Layouts, Kreislayouts usw. verwendet werden können. Sie können sogar das Layout einer - Sammlungsansicht dynamisch ändern, wenn Sie möchten.

vs

Die UIStackView-Klasse bietet eine optimierte Schnittstelle zum Anordnen Einer Auflistung von Ansichten in einer Spalte oder in einer Zeile

  1. Für mich profitieren Sie mit StackView von der Funktion "AutoLayout". Beispiel: Sie fügen 4 Ansichten in den Stack ein. Diese Komponente entscheidet, wie diese Ansichten auf dem Bildschirm dargestellt werden, abhängig von ihrer Größe.
9
Duyen-Hoa

Ja, eine Sammlungsansicht, die ein Flusslayout oder ein benutzerdefiniertes Layout verwendet, kann vertikal oder horizontal sein. Wenn Sie ein Flow-Layout verwenden, ist es ziemlich einfach, eine einzelne Spalte mit Elementen zu konfigurieren, die alle ihre eigene Inhaltsgröße haben.

Die Stack-Ansicht ist im Grunde eine Trimm- und Spezialversion. Dadurch wird die Flexibilität des Kollektionslayouts weggenommen und Sie erhalten im Gegenzug eine optimierte Benutzeroberfläche.

Abhängig von Ihrem Anwendungsfall benötigen Sie möglicherweise nicht die Komplexität einer Sammlungsansicht. Es gibt auch ein paar nette Funktionen, wie zum Beispiel, wenn Sie eine Liste von Optionen hätten, die angezeigt werden können, aber einige nicht in allen Fällen geeignet sind. Dann können Sie einfach die anderen Optionen ausblenden, und die Stack-Ansicht wird damit umgehen. Das Ausblenden von Elementen in einer Sammlungsansicht erfordert viel mehr Konfiguration.

Stack-Ansichten sind auch eine sehr einfache Option für Container-Ansichten, die vollständig im Interface Builder erstellt werden und keine Code-Anforderungen enthalten. Auf diese Weise ersetzt die Stack-Ansicht viele Ihrer Einschränkungen für das automatische Layout, indem Sie die intrinsischen Inhaltsgrößen der von ihr verwalteten Unteransichten für das Layout verwenden. Sie können Stapelansichten auch sehr effektiv verschachteln, um die meisten Tabellenlayouts zu bilden.

16
Wain

Sammlungsansichten haben Zellen und arbeiten mit der Datenpräsentation. Stapelansichten sind eine Möglichkeit, Layoutansichten innerhalb eines Containers zu gestalten. Stapelansichten haben keine Möglichkeit, mit den Daten zu arbeiten, wie dies bei Sammlungsansichten mit Delegierten der Fall ist. Die Sammlungsansicht ist datenzentriert und die Stapelansicht ist auf das Layout fokussiert.

11
ejkujan

Sammlungsansichten sind viel kompliziertere Elemente der Benutzeroberfläche, die ein DataSource-Objekt und ein Layout usw. erfordern.

Stapelansichten scheinen ein Ersatz für Tricks zu sein, bei denen Sie mehrere Beschränkungen auf mehrere Elemente anwenden mussten, um beispielsweise einen Stapel Schaltflächen zu erstellen oder Beschriftungen und Textfelder für ein Formular anzuordnen.

Stapelansichten haben auch keinen Delegierten und keinen Mechanismus zum Auswählen von Elementen oder Ähnlichem.

3
Brian Broom

Wenn Sie sich fragen, warum es diese zwei Optionen gibt, die sehr ähnlich aussehen - manchmal erstellen Sie eine benutzerdefinierte Zelle (Tabellenansicht oder Sammlungsansicht) und fügen eine andere Tabellenansicht oder eine Sammlungsansicht als Unteransicht hinzu - dann werden Sie gerne wissen, wie UIStackView funktioniert ....

0
kurtanamo