当使用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