2015-04-02 36 views
1

我有一個UIView與3個組件:1 UIImageView和2 UILabel如何使用自動佈局設置組件的寬度以匹配其他組件的寬度之和?

我想創建一個大小限制(編程),這樣UIImageView.width = UILabel1.width + UILabel2.width

在可視格式,它似乎是不可能的。使用constraintWithItem,似乎我只能指定一個組件來比較我的UIImageView與?

我該怎麼辦?它甚至有可能嗎?

+0

這兩個標籤是否相鄰?是否足以將圖像視圖的前緣設置爲等於第一個標籤的前緣,圖像視圖的後緣是否等於第二個視圖的後緣? – 2015-04-02 03:02:46

+0

我完全忘了前端/後端選項......謝謝!在我的情況下,它會起作用。但出於好奇,即使最後如果沒有這樣的例子,如果他們不相鄰,你會怎麼做? – Nico 2015-04-02 03:07:33

回答

1

對於Nico的實際情況,它的作用是將圖像視圖的邊緣(前緣和後緣)約束到相應標籤的邊緣。

沒有直接的方法將視圖的寬度限制爲其他視圖的寬度之和。您可以使用涉及虛擬視圖的嚴重黑客操作。例如,您可以創建幾個不可見的視圖。將它們的寬度設置爲等於標籤的寬度。將它們嵌入到容器視圖中。設置約束如H:|[view1][view2]|。 (您還需要垂直約束,但這些約束可以是任意的。)因此,容器的寬度現在等於標籤寬度的總和。然後,您可以將圖像視圖的寬度限制爲等於該容器視圖。

相關問題