使用自动布局使任何视图的宽度等于屏幕宽度

Posted

技术标签:

【中文标题】使用自动布局使任何视图的宽度等于屏幕宽度【英文标题】:Use auto layout to have width of any view to be equal to the screen width 【发布时间】:2014-10-25 18:28:57 【问题描述】:

如何使视图具有屏幕视图的宽度。在 Xcode 6 中,大小的默认“推断”模拟指标是 600x600。当我为视图添加约束以使视图的宽度等于父视图的宽度时,它会保持 600px 的大小,因为我猜它需要模拟指标的大小......

我怎样才能让宽度等于屏幕宽度?在这里使用“宽度相等”显然不是一个选项。那么,我该怎么办?

谢谢!

【问题讨论】:

为什么不能将尾随和前导间距设置为零? 它将对象的高度归零;视图的高度是灵活的;它根据内容而变化,所以我不知道该怎么做 OK 玩了两天终于明白了。 那么你的解决方案是什么? 我重构了整个布局以在对象之间有约束而不是超级视图。这样做实际上帮助了我的对齐方式——因此我摆脱了 50 行代码。 sizeToFit 也可以完美地处理约束。 【参考方案1】:

删除与宽度相关的任何其他约束并将前导和尾随设置为 0。

【讨论】:

以上是关于使用自动布局使任何视图的宽度等于屏幕宽度的主要内容,如果未能解决你的问题,请参考以下文章

在启用自动布局和大小类的情况下更改视图宽度

iOS自动布局:设置尾随空间等于superview的宽度

如何让 UICollectionView 在不离开屏幕的情况下使用自动布局填充其包含滚动视图的宽度?

自动布局和滚动视图宽度固定到屏幕(不是内容)

使用自动布局更改方向时更改内容顺序

没有显式宽度限制且尾随空间大于或等于行为不端的自动布局