2017-09-01 18 views
0

對不起,如果它不是最好的標題,但我真的不知道如何用幾句話來解釋這一點。約束後刪除最近的鄰居查看

所以,我有一個帶有標籤和圖像的視圖。有兩個賭注。其中一個我不需要圖像,只是標籤(最偶然的一個)。還有一個我需要圖像和標籤的地方,並且在某些時候我必須通過動畫(這個被處理)去除圖像。

現在。對於那些我只需要標籤的人來說,我正在考慮使用這些限制。我想爲左側15和約束的間距轉到超視圖,但也有一個圖像時,我想約束去圖像。我會添加一張圖片以使其更加清晰。我怎樣才能做到這一點?

enter image description here

+0

'UIStackView'可以幫助你... –

回答

1

對於您應該綁定(以@IBOutlet)UIImageView's寬度約束和領先的約束,你需要管理它cellForRowAtIndexPath

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

不過你還是會以30pts的左邊距作爲唯一標籤? – GoodSp33d

+0

謝謝。這一個工程。關於這個解決方案,我希望有一種方法可以從xib或我不知道。謝謝,我會這樣做 – razvan

+0

@ GoodSp33d - 是的你是對的,我們還需要對圖像進行引導約束,只需要顯示標籤時需要爲0。編輯 – Govaadiyo

2

其實你可以做同樣的事情從XIB也可以。

從XIB中選擇leadingConstraint outlet d爲約束創建出口。

它將創建類型NSLayoutConstraint的屬性,然後在情況下,你不想展示的ImageView

self.imageViewLeadingConstraint.constant = 0; 

重複了ImageView的寬度也相同的過程將值設置爲0。