Wie kann ich 3 UIButton
s auf die Mitte eines UITableCellView
ausrichten?
Beispiel: Ich habe 3 UIButton
s mit Titeln:
Es ist möglich, dass eines oder mehrere der UIButton
s ausgeblendet sind. Wenn beispielsweise das Telefon UIButton
ausgeblendet ist, sollten nur E-Mail und Skype in der Mitte ausgerichtet sein. Wenn Telefon und Skype ausgeblendet sind, sollte nur die E-Mail in der Mitte ausgerichtet sein.
Wenn eines der UIButton
s ausgeblendet ist, sollten die sichtbaren in der Mitte ausgerichtet sein.
Ich möchte sie sowohl horizontal als auch vertikal zentrieren.
Getestet für xcode 7:
Ich nehme an, dass Sie nach so etwas suchen
Lösung:
Schritte: 1) Was benötigt wird, ist eine einkapselnde Ansicht, die alle drei Schaltflächen (Skype, Telefon, E-Mail) in der Mitte hält, unabhängig davon, ob sich darin ein Knopf, zwei oder drei befinden. Dazu wird eine Halteransicht erstellt, die im unteren Schnappschuss grün hinterlegt ist.
Einschränkungen für diese Ansicht sind
es ist nur, um alle Unteransichten zu halten, wird es seine Größe von seinem Inhalt bekommen, so dass es keine Höhe / Breite Beschränkungen geben muss.
2) Jetzt sind die Einschränkungen für die Schaltfläche in der Mitte
3) Einschränkungen für Buttons auf beiden Seiten sind
Wenn Sie eine Schaltfläche ausblenden müssen, müssen Sie die Breiteneinschränkung auf 0 setzen, und alle anderen Schaltflächen werden entsprechend neu angeordnet.
Für TableView-Zelle:
%Vor%Verwenden Sie:
%Vor%Dasselbe kann mit UIStackView erreicht werden (ohne all diese Kopfschmerzen offensichtlich), aber das wird nicht auf iOS vor 9.0 laufen
Aktualisiert (26. Oktober 2015):
GitHub Repo für das Testprojekt
Tags und Links uitableview ios swift autolayout uibutton