ios - UICollectionViewCompositionalLayout 项目大小不正确
问题描述
我目前面临组合布局的问题,这也可以在Apple 的示例-> ConferenceNewsFeedViewController 中看到。项目高度设置为.estimated(100)
,宽度设置为.fractionalWidth(1.0)
。在初始显示中,单元格没有包装标签内容。只有当您开始滚动时,单元格的布局才会得到纠正。有谁知道如何解决这个问题?
这是不正确的布局:
这是滚动后的布局:
我知道它可以通过以下方式“修复”,但这感觉更像是一个肮脏的工作:
DispatchQueue.main.async {
self.collectionView.collectionViewLayout.invalidateLayout()
}
对此的任何帮助表示赞赏。
最好的,卡斯滕
解决方案
我自己也面临同样的问题。就我而言,我有以下设置:
- 细胞子类:UICollectionViewListCell
- 单元内容视图:UIContentView
在我的 CellContentView 中,我已经覆盖了layoutSubviews
:
override func layoutSubviews() {
super.layoutSubviews()
invalidateIntrinsicContentSize()
}
有时仍然会出现一些小故障,但这比加载时布局错误要好。
推荐阅读
- python - 一本字典中多个列表的总和
- reactjs - 在按钮单击事件上调用组件
- spring - How to split value of property in application.properties
- ios - 如何在 swift 而非客观 c 中获得互联网连接时将离线本地数据库与服务器同步?
- angular - NGRX 通过@Effect 将重点放在输入上
- c# - ArrayList 不包含“计数”的定义
- r - 按月划分的子集数据
- python-requests - 发送标头以发布请求
- javascript - 在纯 Javascript 中使用 Django 权限
- javascript - TypeError: cannot read property 'id' of undefined - Angular 8 Testing