是否可以直接设置UICollectionViewFlowLayout
对象属性而无需接触UICollectionViewDelegateFlowLayout
协议?
例如,如果我希望每个项目的大小都相同,那么我可以这样做:
self.collectionViewFlowLayout.itemSize = CGSizeMake(100,100)
代替这个:
- (CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout sizeForItemAtIndexPath:(NSIndexPath *)indexPath
{
return CGSizeMake(100, 100);
}
如果为正,如何引用
UICollectionViewFlowLayout
对象?如果否定的,您能否解释为什么苹果选择使其成为协议?显然,它需要更多代码。
最佳答案
是的,可以,但是不能通过访问现有的UICollectionViewFlowLayout实例来实现。您需要将UICollectionViewFlowLayout子类化,并处理您想要在子类中使用的所有属性。
今年有一些很棒的WWDC会议,我建议观看。您可以看到Session 205 here (login required)和Session 219, here(login required)。第二个视频将直接解决您的问题。