在 UICollectionViewCell 上设置约束的问题
Posted
技术标签:
【中文标题】在 UICollectionViewCell 上设置约束的问题【英文标题】:Issues setting constraints on UICollectionViewCell 【发布时间】:2019-11-10 11:19:00 【问题描述】:我创建了一个 UICollectionViewCell (.xib),我只想在其中添加一个标签和一些简单的约束,例如:
但是,这样做会搞砸一切。无论我在UICollectionViewDelegateFlowLayout
上选择的大小,单元格都将始终使用标签的大小!我在这里做错了什么?我是否应该不对 CollectionViewItems 使用约束,而是使用 translatesMaskIntoConstraints = true
?
谢谢!
编辑:这是我的预期:
这就是我实际拥有的(只要我添加了约束):
edit2:已修复!通过将标签的内容拥抱优先级更改为 10(例如,或更低)。但是......如果视图中没有其他约束,为什么?如果有人能回答,我将不胜感激,因为我可以回答这个问题并给出这个解决方案,但我无法解释为什么它完全解决了它,所以无论如何这不是一个正确的答案。
【问题讨论】:
请分享预期结果和当前结果以便更好地理解。 【参考方案1】:你有两种方法:你可以委托给一个单元格来计算自己的高度,或者你可以为高度设置固定大小。
如果你想要第一种情况,请阅读其他related answers
如果你想要固定尺寸,你应该在标签上做一个固定的高度。标签正在根据contentSize
计算自己的大小,因此您的约束在单元格的固定大小问题上失败了
【讨论】:
你好。感谢您的回答。虽然,我不太确定你是否完全理解我的问题。请检查更新的问题好吗?谢谢! @Mykod 你好!拥抱是有效的,因为这样你的单元格大小在调整大小时会更优先。查看问题的性质: UILabel 根据内容有自己的大小,因此由于它的大小和边缘的偏移量,它正在尝试调整单元格的大小。你可以做什么:不是通过前导/尾随/底部/顶部对齐,而是将其限制在单元格的中心以上是关于在 UICollectionViewCell 上设置约束的问题的主要内容,如果未能解决你的问题,请参考以下文章
在 UICollectionViewCell 上设置 .reuseIdentifier
在 UICollectionViewCell 中更新 UITableView
如何在 UICollectionViewCell 中添加 UICollectionView?