Ben*_*ime 2 ios autolayout uicollectionview uicollectionviewlayout
我有一个UICollectionViewController生成具有随机颜色的细胞用于测试目的.既然UICollectionViewController嵌入了a UIScrollView,我希望scrollView与它的大小相同contentSize.
我创建了一个子类UICollectionView,实现了intrinsicContentSize方法,并将UICollectionView我的类设置为IB中的自定义类.但是intrinsicContentSize永远不会被称为.我有一个完全相同的设置UITableView并在那里它完美无缺.
有什么想法吗?
- (CGSize)intrinsicContentSize {
[self layoutIfNeeded];
return CGSizeMake(UIViewNoIntrinsicMetric, self.contentSize.height);
}
Run Code Online (Sandbox Code Playgroud)
Mar*_*rry 11
正确的答案是做这样的事情
- (CGSize)intrinsicContentSize
{
return self.collectionViewLayout.collectionViewContentSize;
}
Run Code Online (Sandbox Code Playgroud)
每当您认为需要更改时调用-invalidateContentSize(例如在reloadData之后).
在Interface Builder中,您可能需要设置占位符内在大小约束以避免错误.
这是-intrinsicContentSize的子类化和重写,如果你想增长一个集合视图的框架,直到它被一个兄弟或父视图约束
| 归档时间: |
|
| 查看次数: |
5735 次 |
| 最近记录: |