在UICollectionView中启用动态单元大小调整时,为什么不考虑流布局的部分插入?

时间:2015-10-13 14:08:45

标签: ios autolayout uicollectionview uicollectionviewlayout flowlayout

根据Stackoverflow上的许多教程和帖子this one,一旦将var link = worksheet.Links.FindService(GDataSpreadsheetsNameTable.CellRel, null).HRef.ToString(); var cellQuery = new CellQuery(link) { MinimumRow = 1, MaximumRow = 1, MinimumColumn = 1 }; CellFeed header = spreadsheetService.Query(cellQuery); 属性设置为非零值,UICollectionView的流布局就会变为动态。如果是这种情况,流布局直接从单元格中获取每个项目大小,而不是询问委托方法estimatedItemSize

不幸的是,设置collectionView:layout:sizeForItemAtIndexPath:属性也会影响其他流布局委托方法,例如estimatedItemSize。我观察到,一旦设置collectionView:layout:insetForSectionAtIndex:,就会忽略此方法,以及流布局的estimatedItemSize属性。

使用此方法声明:

sectionInset

我的收藏夹视图如下所示- (UIEdgeInsets)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout insetForSectionAtIndex:(NSInteger)section { return UIEdgeInsetsMake(50, 10, 20, 10); } 设置:

esimatedItemSize enabled

并且没有estimatedItemSize设置(并从estimatedItemSize返回固定的项目大小CGSizeMake(300, 50)),并且这样做:

esimatedItemSize disabled

这种行为有什么理由吗?为什么流布局会忽略动态单元大小的节插入?

0 个答案:

没有答案