當使用autolayout嘗試使用子視圖填充視圖時,我注意到一些非常奇怪的行爲。這個想法非常簡單:爲視圖添加一個子視圖並使其使用父視圖的所有寬度。Autolayout - 拉伸視圖以填充其父視圖
NSDictionary *views = @{
@"subview":subView,
@"parent":self
};
這不起作用:
[self addConstraints:
[NSLayoutConstraint constraintsWithVisualFormat:@"H:|[subview]|"
options:0
metrics:nil
views:views]];
子視圖不使用父視圖的整個寬度。
但這個工程:
[self addConstraints:
[NSLayoutConstraint constraintsWithVisualFormat:@"H:|[subview(==parent)]|"
options:0
metrics:nil
views:views]];
我希望那些打算既會工作。那麼爲什麼第一個例子不起作用?這是蘋果公司建議在以下技術說明:
https://developer.apple.com/library/ios/technotes/tn2154/_index.html
編輯:(去除不相關的信息)
它的工作原理,當我這樣做。你看到了什麼結果?您是否在控制檯中收到任何警告? – rdelmar 2014-10-04 22:59:50
沒有自動佈局警告。子視圖只與其中最寬的元素一樣寬,不佔用父視圖中的所有空間。當我起訴第二個例子時,它工作正常(然後使用所有父視圖的寬度) – 2014-10-04 23:04:31
您需要提供更多信息。你在子視圖中有什麼觀點,你有什麼限制嗎? – rdelmar 2014-10-04 23:08:15