我有一个带有4个UITableViewCell的UITableView。我想通过设置来实现动态:
tableView.estimatedRowHeight = 44
tableView.rowHeight = UITableViewAutomaticDimension
对于第三个单元格,使用嵌入UICollectionView,它有20个UICollectionViewCell。
当我运行我的项目时,uicollectionviewcell返回(44,44)并显示以下错误:
The behavior of the UICollectionViewFlowLayout is not defined because:
the item height must be less than the height of the UICollectionView minus the section insets top and bottom values, minus the content insets top and bottom values.
The relevant UICollectionViewFlowLayout instance is <UICollectionViewFlowLayout: 0x7fe028c25bd0>, and it is attached to <UICollectionView: 0x7fe029884800; frame = (20 0; 335 44); clipsToBounds = YES; autoresize = RM+BM; gestureRecognizers = <NSArray: 0x60000024bbb0>; layer = <CALayer: 0x6000002269c0>; contentOffset: {0, 0}; contentSize: {0, 44}> collection view layout: <UICollectionViewFlowLayout: 0x7fe028c25bd0>.
Make a symbolic breakpoint at UICollectionViewFlowLayoutBreakForInvalidSizes to catch this in the debugger.
感谢您的进步。
答案 0 :(得分:0)
调试器告诉你出了什么问题:
frame =(20 0; 335 44)
这是你的collectionView框架,这意味着collectionView的高度只有44px,这也是你单元格的高度。所以它不适合带有单元格插入值的collectionView ......
检查collectionView框架和autoLayout约束
答案 1 :(得分:0)
增加集合视图的高度或降低集合视图单元格的高度,因为集合视图的高度为44
,单元格的高度也为44
。您的单元格或项目的高度必须小于集合视图的高度!!