我将故事板中的 UICollectionView 拖放到现有UIView的某个区域,如下所示:
我不想在 UICollectionView 中允许滚动/分页,因此我从检查器构建器中禁用了这些选项。
我想要实现的目标是使 UICollectionView 的框架/界限自动调整大小以适应所有单元格。这听起来很简单。
我期待 sizeToFit 来处理它。但它没有做任何事情......
我甚至尝试手动将这些更改为某些硬编码值,但没有任何效果......: setFrame:, setBounds:, invalidateLayout 等等......无济于事。
为了简单起见,我甚至删除了对 UICollectionView 的所有限制,我仍然无法改变代码中的大小。
任何帮助都会非常感激!
答案 0 :(得分:0)
你可以尝试在方法
中调用一个方法(比如更新CollectionView Frame)- (UICollectionViewCell *)cellForItemAtIndexPath:(NSIndexPath *)indexPath
遇到最后一个item
。
答案 1 :(得分:0)
这就是我用Swift做的:)你也可以在obj-c中使用它:
self.newsGrid.reloadData();
self.newsGrid.performBatchUpdates({ () -> Void in
}, completion: { (finished) -> Void in
print("bounds ");
println(self.newsGrid.bounds);
print("size ");
println(self.newsGrid.contentSize);
});
完成数据源设置后,请调用这些方法。 (注意:打印仅用于演示,您可以在那里设置高度约束,或者只使用contentSize属性更改UICollectionView框架。)