Iphone 调整UICollectionView边界的大小以适应单元格(使用故事板自动布局)

Iphone 调整UICollectionView边界的大小以适应单元格(使用故事板自动布局),iphone,objective-c,ios7,uicollectionview,Iphone,Objective C,Ios7,Uicollectionview,我将UICollectionView从我的故事板拖放到现有UIView的一个区域,如下所示: 我不想允许在该UICollectionView中滚动/分页,因此我从inspector builder中禁用了这些选项 我想要实现的是将UICollectionView的框架/边界设置为自动调整大小以适应所有单元格。听起来很简单 我希望大小合适的能够处理它。但它什么也没做 我甚至尝试手动将这些更改为一些硬编码值,但没有任何效果…: 设置帧:,设置背景:,无效设置等。。。无济于事 为了使它更简单,我甚至

我将UICollectionView从我的故事板拖放到现有UIView的一个区域,如下所示:

我不想允许在该UICollectionView中滚动/分页,因此我从inspector builder中禁用了这些选项

我想要实现的是将UICollectionView的框架/边界设置为自动调整大小以适应所有单元格。听起来很简单

我希望大小合适的能够处理它。但它什么也没做

我甚至尝试手动将这些更改为一些硬编码值,但没有任何效果…: 设置帧:设置背景:无效设置等。。。无济于事

为了使它更简单,我甚至删除了对UICollectionView的所有约束,并且我仍然无法在代码中更改大小


任何帮助都将不胜感激

请尝试在方法中调用方法(例如updateMyCollectionViewFrame)好吗

- (UICollectionViewCell *)cellForItemAtIndexPath:(NSIndexPath *)indexPath

当遇到最后一个
项时。

这是我使用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框架)。

我尝试了,但也没有成功。唯一有效的方法是创建一个“高度”约束的出口,并在代码中更改它。。我不喜欢那种方法。看起来有点黑。