2017-09-01 1 views
0

Sorry für den Titel, wenn es nicht der beste ist, aber ich weiß wirklich nicht, wie ich das in ein paar Worten erklären soll.Einschränkung für die Ansicht nach dem nächsten entfernten Nachbarn

Also, was ich habe, ist eine Ansicht mit einem Etikett und einem Bild. Es gibt zwei Kasus. Eine, in der ich das Bild nicht brauche, nur das Etikett (das am meisten übliche). Und eines, wo ich sowohl das Bild als auch das Etikett brauche und irgendwann muss ich das Bild durch eine Animation entfernen (diese wird behandelt).

Jetzt. für den, wo ich nur das Etikett brauche, dachte ich daran, mit den Zwängen zu spielen. Ich möchte den Abstand für die linke 15 und die Einschränkung haben, um die Superansicht zu gehen, aber auch wenn es ein Bild gibt, möchte ich die Beschränkung auf das Bild gehen. Ich werde ein Bild hinzufügen, um es klarer zu machen. Wie kann ich das erreichen?

enter image description here

+0

'UIStackView' kann Ihnen helfen ... –

Antwort

1

Dafür Sie binden soll (Take @IBOutlet)UIImageView'sBreite Constraints und führende Constraints und Sie müssen es in cellForRowAtIndexPath verwalten wie

if isOnlyLabel { // "isOnlyLabel" it's just for understanding 
    // Here you have only label not image 
    // Set image with constraint = 0 and leading = 0 
} 
else { 
    // Here you have label + image 
    // Set image with constraint = 60 and leading constraint = 15 Or as you want 
} 
+0

Wont Sie immer noch mit 30 Punkte linken Rand im Falle nur Label? – GoodSp33d

+0

Danke. Dieser funktioniert. Thoughth über diese Lösung, aber ich hoffte, dass es einen Weg von der Xib gibt oder ich weiß nicht. Danke, ich werde es so machen – razvan

+0

@ GoodSp33d - Ja, Sie haben Recht, wir müssen auch führende Einschränkung des Bildes nehmen und müssen 0 sein, wenn nur Etikett anzeigen müssen. Bearbeitet – Govaadiyo

2

Eigentlich kann man das Gleiche tun von der XIB auch

Wählen Sie den führenden Constraint Ausgang von der XIB an d Erstellen Sie den Ausgang für die Einschränkung.

Es wird eine Eigenschaft vom Typ NSLayoutConstraint erstellen, setzen Sie den Wert auf 0 für den Fall, Sie nicht wollen, Image

self.imageViewLeadingConstraint.constant = 0; 

Wiederholen Sie den Vorgang für Image Breite auch zeigen.

Verwandte Themen