And*_*rew 5 objective-c ios uicollectionview uicollectionviewlayout swift
我有一个UICollectionView,使用UICollectionViewFlowLayout作为其布局.它由核心数据查询的结果数组支持,并且在那里有10000项样本数据,以测试它在这种情况下的性能.每个项目都有自己的部分,允许我将标题附加到顶部,未来版本中的某些项目将需要其部分中的其他单元格,因此这是一个很好的设置.
我实现了以下UICollectionViewFlowDelegate和UICollectionViewDataSource函数:
func numberOfSectionsInCollectionView(collectionView: UICollectionView) -> Int
func collectionView(collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int
func collectionView(collectionView: UICollectionView, cellForItemAtIndexPath indexPath: NSIndexPath) -> UICollectionViewCell
func collectionView(collectionView: UICollectionView, viewForSupplementaryElementOfKind kind: String, atIndexPath indexPath: NSIndexPath) -> UICollectionReusableView
func collectionView(collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAtIndexPath indexPath: NSIndexPath) -> CGSize
func collectionView(collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, referenceSizeForHeaderInSection section: Int) -> CGSize
func collectionView(collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, referenceSizeForFooterInSection section: Int) -> CGSize
Run Code Online (Sandbox Code Playgroud)
我的collectionview的设置如下所示:
let collectionViewLayout = UICollectionViewFlowLayout()
self.conversationCollectionView = UICollectionView(frame: CGRectZero, collectionViewLayout: collectionViewLayout)
Run Code Online (Sandbox Code Playgroud)
然后我运行应用程序,并在最初加载应用程序时,并在执行时insertSection(当我希望添加一个新条目时)我注意到延迟几秒钟.所以我注销了对每个委托方法的调用.
一旦应用的启动,它会调用numberOfItemsInSection,sizeForItemAtIndexPath,referenceSizeForHeaderInSection和referenceSizeForFooterInSection,为每10000段和项目.
该项目的屏幕,这还要求cellForItemAtIndexPath和viewForSupplementaryItemOfKind,这是我所期待.
那么我加入:
collectionViewLayout.estimatedItemSize = CGSize(width: 100, height: 100)
collectionViewLayout.itemSize = CGSize(width: 100, height: 100)
collectionViewLayout.headerReferenceSize = CGSizeZero
collectionViewLayout.footerReferenceSize = CGSizeZero
Run Code Online (Sandbox Code Playgroud)
但这对所做的调用没有任何影响.
理想情况下,我想要的是能够给出估计的截面尺寸,然后只有当它们即将在屏幕上显示时才调用截面和单元高度函数.
| 归档时间: |
|
| 查看次数: |
1937 次 |
| 最近记录: |