根据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);
}
设置:
并且没有estimatedItemSize
设置(并从estimatedItemSize
返回固定的项目大小CGSizeMake(300, 50)
),并且这样做:
这种行为有什么理由吗?为什么流布局会忽略动态单元大小的节插入?