2016-04-25 13 views
0

Ich habe einige Aktionsschaltflächen unter meinen Tabellenansichtselementen. Es gibt 7 Artikel. Manchmal werden einige Aktionsschaltflächen jedoch ausgeblendet. Allerdings, wenn ich ein Element zu verbergen, bleiben die Positionen gleichen, wie Sie im Bild sehen können:Ansicht ausblenden und andere Ansichten entsprechend verschieben

My items My items after hide

My constraints are looking like this

Wie kann ich sicherstellen, dass andere Gegenstände ausfüllen seine Position?

+0

helfen, wenn Sie iOS unterstützen müssen nicht 8, verwenden Sie 'UIStackView'. –

+0

Was meinen Sie mit einer Elternansicht von Aktionsschaltflächen? –

+0

Aber wenn ich die Elternansicht ausgeblendet habe, passen die anderen Ansichten ihre Positionen automatisch an? –

Antwort

0

Nehmen Sie outlets von constraints und ändern Sie constant von Einschränkungen wie pro Anforderung.

Nehmen Sie nach Ihrem Beispiel die Steckdose von attach button's leading constraint (links constraint) und reduzieren Sie ihre Konstante mit verdeckten Schaltflächenbreite (in Ihrem Fall die Breite der Vorwärtstaste) + verringern Sie den Abstand zwischen den Schaltflächen.

Sie können Steckdose nur von Strg + ziehen von entsprechenden Einschränkung zu Klasse mit Assistent Editor öffnen verbinden.

Beispiel;

@IBOutlet weak var buttonLeadingConstraint : NSLayoutConstraint? 

dann

self.buttonLeadingConstraint.constant = self.buttonLeadingConstraint.constant - 50; 

// here 50 is space between button + button width 

Hoffnung ändern diese :)

+0

In zusätzlichen [self.view layoutIfNeeded] – Eike

+0

wollte ich vermeiden, mit Einschränkungen umgehen, aber ich denke, es ist der einzige Weg. Vielen Dank! –

+0

ist es die beste Weise, die ich denke, weil Ihre alle Elemente nur durch das Ändern der Konstanten einer Beschränkung handhaben werden. – Lion

Verwandte Themen