2013-06-21 86 views
1

是否可以創建一個自動佈局約束,其中視圖的高度是其太陽視圖高度的總和?Autolayout約束其中高度是子視圖高度的總和

我有一個設計,其中視圖包含垂直堆疊的子視圖1和子視圖2。 子視圖1是固定的高度,但子視圖2應該能夠在零高度和其內容高度之間交替。

Autolayout正在爲此殺死我。

+0

這可能是錯誤的想法。這可能是思考框架和反思的結果,需要學習用相對約束來思考。 – uchuugaka

+0

你是在一個筆尖/故事板或代碼中創建你的約束嗎? –

+0

我希望他們在代碼中有更大的靈活性 – uchuugaka

回答

1

您想要創建一個約束將子視圖1的頂部固定到其頂視圖的約束,以及將子視圖2的底部固定到其超視圖底部的約束。約束格式字符串應該是這樣的:

@"V:|[subview1][subview2]|" 

這也將創造subview1約束和suvbview2是感人的,這可能是你想要的。

+0

好吧,忽略這並沒有爲subview1設置一個固定的高度,在這種情況下,你會如何調整subview2的大小? – uchuugaka

+0

您可以在另一行添加這些約束。如果你製作一個約束@「V:[subview2(500)]」,你可以保存一個指向該約束的指針,然後通過設置常量(從500到任何你的新高度應該是)來調整大小。佈局引擎在調整現有約束的常量方面非常有效。 – Bridgeyman

相關問題