添加 UILabel 强制 UICollectionViewCell 缩小宽度
Adding UILabel forces UICollectionViewCell to shrink width
我有一个 UICollectionView
单元格,宽度不同。
每个单元格都有一个包含 UILabel
的页脚视图。我希望该标签是全宽的,无论文本有多长,我希望标签始终跨越 UICollectionViewCell
.
内页脚视图的宽度
为了尝试这个,我将我的 UILabel
锚定如下 -
到视图的top
到它邻居的 trailing
到视图的trailing
然而效果是,当我的单元格被渲染时,它不再是 sizeForItemAt
中设置的宽度,而是缩小到图标的 trailing
边缘。
我不明白为什么,我是使用 xib
的新手,过去我会以编程方式构建我的视图,但我没有遇到过这个问题。
我的sizeForItem
是-
func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize {
return .init(width: collectionView.bounds.width / 2, height: 480)
}
也许您可以尝试使用中心 Y 和中心 X 约束并将标签的前导和尾随约束切换为 >=?这应该会阻止标签破坏内容大小。
您需要将标签的水平 contentHuggingpriority
更改为最低值,以便它可以自由拉伸
我有一个 UICollectionView
单元格,宽度不同。
每个单元格都有一个包含 UILabel
的页脚视图。我希望该标签是全宽的,无论文本有多长,我希望标签始终跨越 UICollectionViewCell
.
为了尝试这个,我将我的 UILabel
锚定如下 -
到视图的top
到它邻居的 trailing
到视图的trailing
然而效果是,当我的单元格被渲染时,它不再是 sizeForItemAt
中设置的宽度,而是缩小到图标的 trailing
边缘。
我不明白为什么,我是使用 xib
的新手,过去我会以编程方式构建我的视图,但我没有遇到过这个问题。
我的sizeForItem
是-
func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize {
return .init(width: collectionView.bounds.width / 2, height: 480)
}
也许您可以尝试使用中心 Y 和中心 X 约束并将标签的前导和尾随约束切换为 >=?这应该会阻止标签破坏内容大小。
您需要将标签的水平 contentHuggingpriority
更改为最低值,以便它可以自由拉伸