问题描述
假设我有一个名为UIView
的{{1}},它是Interface Builder中inner
的{{1}}的子视图。集合视图使用流布局,并使用UICollectionViewCell
确定布局时单元格的大小。
我希望Content View
占据单元格的整个宽度,但是如果单元格的宽度小于collectionView(_:layout:sizeForItemAt:)
,则inner
应该在单元格中水平居中并具有一定的宽度的6
(单元格上的inner
和单元格的6
上的clipsToBounds
)。
“应该”下面的水平约束足以做到这一点,但是Interface Builder向我显示了两个错误:
- 缺少约束:X位置,宽度需要约束
- 不平等约束歧义:inner.lead
建议的水平约束:
- inner.centerX = centerX
- inner.trailing> =尾随
- inner.lead
- inner.width> = 6
这还不够吗?与false
有关系吗?
解决方法
Interface Builder的投诉可能是虚假的。最好运行应用程序,然后在View Debugger中查看会发生什么。我能够这样实现您的目标:
-
inner
领先 -
inner
尾随> =超级尾随 -
inner
centerX == superview centerX -
inner
宽度== 6,优先级999
结果看起来正确。视图调试器没有抱怨,所以我认为我的设置是有效的。