我只是对以下代码感到困惑,这些代码在从xib文件实例化的UICollectionViewController
中执行:
- (CGFloat)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout*)collectionViewLayout minimumInteritemSpacingForSectionAtIndex:(NSInteger)section {
return 1.0;
}
在协议UICollectionViewDelegateFlowLayout
中声明。但是,UICollectionViewController
中没有任何地方表明它符合此协议,如UICollectionViewController
中声明的那样:
NS_CLASS_AVAILABLE_IOS(6_0) @interface UICollectionViewController : UIViewController <UICollectionViewDelegate, UICollectionViewDataSource>
无论如何可以解释为什么UICollectionViewController
符合UICollectionViewDelegateFlowLayout
?
答案 0 :(得分:0)
默认情况下,拖动到xib / storyboard时集合视图布局的类是UICollectionViewFlowLayout
,这就是为什么默认调用UICollectionViewDelegateFlowLayout
的委托方法的原因。如果您要在xib / storyboard中更改布局对象的类,则不会调用特定于UICollectionViewDelegateFlowLayout
的任何方法。
此外,UICollectionViewController
可能会私下符合UICollectionViewDelegateFlowLayout
,或者可能不符合int[] dim = myObject.getCoord();
。它并不重要,因为一个类在技术上