Ich verwende das UIStackView mit der folgenden Konfiguration:
%Vor% Jedes der Elemente hat seine eigene intrinsicContentSize
, so dass UIStackView
eine eigene intrinsicContentSize
angeben kann. Die Dokumentation besagt, dass spacing
als Mindestabstand verwendet wird.
Beispiel:
%Vor% Die intrinsicContentSize.width
der stackView sollte 30
sein.
Stattdessen bekomme ich:
%Vor% was mir sagt, dass intrinsicContentSize
nicht zur Verfügung gestellt werden kann.
Weiß jemand von euch, ob ich etwas falsch mache, ob das Verhalten beabsichtigt ist oder ob das ein Fehler ist?
Ab iOS 9.1 implementiert UIStackView
nicht intrinsicContentSize
:
Ausgabe:
%Vor% Sie könnten eine Unterklasse von UIStackView
erstellen und sie selbst implementieren, wenn Sie sie wirklich brauchen. Das solltest du aber nicht tun müssen. Wenn UIStackView
(durch die Einschränkungen dafür) eine eigene Größe zulässt, erfolgt dies basierend auf der inhaltlichen Größe der angeordneten Subviews (oder nach anderen Einschränkungen, die Sie für die Größe der angeordneten Subviews festgelegt haben).
Die von Ihnen erstellten UIViews haben eine intrinsische Höhe und Breite von Null. Verwenden Sie stattdessen Autlaylay-Einschränkungen für die zugrunde liegenden UIViews.
Sie können auch das automatische Layout verwenden, um die Größe des UIStackView zu bestimmen. Wenn Sie diese Option verwenden, stellen Sie die Ausrichtung nicht auf center ein, sondern stattdessen fill.
Beispiel:
%Vor%Dies funktioniert, weil die Stapelansicht jetzt eine Höhe und eine Breite hat.
Tags und Links objective-c ios swift uikit uistackview