簡體   English   中英

界面生成器約束

[英]Interface Builder Constraints

我正在嘗試在界面生成器中創建這樣的布局。

在此處輸入圖片說明

我正在使用約束使這些視圖可拉伸。 頂視圖具有綁定到超級視圖的左,右和頂部空間,而底視圖則具有底部空間。 底部視圖具有綁定到超級視圖的左右空間。

在運行時,我向它們兩個都添加了ViewController視圖。

這里的問題是底視圖的Y沒有約束,IB顯示紅色錯誤箭頭,依此類推。 那是因為我不知道它的確切高度。 黃色視圖的高度是否等於運行時添加的內部視圖,是否存在任何“ android wrap_content”約束?

為黃色視圖的高度添加約束。 然后為該約束添加IBOutlet,以便您可以在運行時更改約束的constant量值。 如果您需要計算滿足黃色視圖約束的尺寸,則可以使用systemLayoutSizeFittingSize:

另外,您可以依賴黃色視圖的intrinsicContentSize 在Interface Builder中為視圖添加一個占位符“本征大小”。 如果您的黃色視圖實現了intrinsicContentSize或具有使其具有明確高度的約束(例如,如果它包含固定在頂部和底部的UILabelUIImageView ),則足以適當調整視圖的大小。

只需將高度限制添加到黃色視圖,例如:

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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM