Der Weg, dies zu tun, besteht darin, 2 unsichtbare "Spacer" -Ansichten zwischen Ihren sichtbaren Ansichten zu haben.
Sie können Leerzeichen nicht gleich hoch machen. Sie verwenden jedoch die "Spacer" -Ansichten und platzieren sie zwischen Ihren Ansichten (mit 0 Lücken zu den umgebenden Ansichten).
Dann geben Sie diesen Ansichten gleiche Höhen und sie verschieben Ihre Ansichten, um die My View
mit gleichem Abstand zum Bottom View
und zu zentrieren Top View
.
dh so ...
V:|[Top View][spacer1][My View][spacer2(==spacer1)][Bottom View]|
EDIT - Ein anderer Weg
Ich habe mir gerade einen anderen Weg überlegt. Sie könnten einen unsichtbaren Container haben UIView
, der zwischen Top View
und Bottom View
ohne Lücke liegt.
Dann platzieren Sie My View
diese unsichtbare Ansicht und zentrieren sie vertikal.
Eine weitere Lösung besteht darin, eine unsichtbare Ansicht zwischen Draufsicht und Botom-Ansicht hinzuzufügen und meine Ansicht in die Mitte dieser Ansicht zu platzieren:
quelle
(5 Jahre später) Ich habe die kanonischste Lösung gefunden:
UILayoutGuide
wurde speziell eingeführt, um diese Art von Aufgaben zu lösen (seit iOS 9).Verwenden Sie Layout-Anleitungen, um die Dummy-Ansichten zu ersetzen, die Sie möglicherweise erstellt haben, um Zwischenansichtsräume oder Kapselungen in Ihrer Benutzeroberfläche darzustellen - Ref docs
Es funktioniert ziemlich gut im Code, aber leider unterstützt Interface Builder keine benutzerdefinierten Layout-Anleitungen.
quelle
Dieses Video bietet einen erstaunlichen Überblick über das automatische Layout und die Einschränkungen im Interface Builder: https://www.youtube.com/watch?v=1j-Frd5snYc
quelle