[英]Interface Builder Constraints
我正在嘗試在界面生成器中創建這樣的布局。
我正在使用約束使這些視圖可拉伸。 頂視圖具有綁定到超級視圖的左,右和頂部空間,而底視圖則具有底部空間。 底部視圖具有綁定到超級視圖的左右空間。
在運行時,我向它們兩個都添加了ViewController視圖。
這里的問題是底視圖的Y沒有約束,IB顯示紅色錯誤箭頭,依此類推。 那是因為我不知道它的確切高度。 黃色視圖的高度是否等於運行時添加的內部視圖,是否存在任何“ android wrap_content”約束?
為黃色視圖的高度添加約束。 然后為該約束添加IBOutlet,以便您可以在運行時更改約束的constant
量值。 如果您需要計算滿足黃色視圖約束的尺寸,則可以使用systemLayoutSizeFittingSize:
另外,您可以依賴黃色視圖的intrinsicContentSize
。 在Interface Builder中為視圖添加一個占位符“本征大小”。 如果您的黃色視圖實現了intrinsicContentSize
或具有使其具有明確高度的約束(例如,如果它包含固定在頂部和底部的UILabel
或UIImageView
),則足以適當調整視圖的大小。
只需將高度限制添加到黃色視圖,例如:
NSLayoutConstraint *heightConstraint = [NSLayoutConstraint constraintWithItem:self.yellowView
attribute:NSLayoutAttributeHeight
relatedBy:NSLayoutRelationEqual
toItem:self.view
attribute:NSLayoutAttributeHeight
multiplier:0.20f
constant:0.0f];
heightConstraint.active = YES;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.