問題:
編譯執行UICollectionView cellForItemAtIndexPath的 UICollectionViewDataSource 代理的方法,如下
- (NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section;
- (NSInteger)numberOfSectionsInCollectionView:(UICollectionView *)collectionView;
但是不執行
- (__kindof UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath;
說明:
初始化成功并且設置代理有寫
<UICollectionViewDelegate,UICollectionViewDataSource>
collectionView.delegate = self;
collectionView.dataSource = self;
問題原因:
設置Layout時,直接使用UICollectionViewLayout.
UICollectionViewLayout *layout = [[UICollectionViewLayout alloc]init];
問題解決:
不可直接使用 UICollectionViewLayout.因為UICollectionViewLayout是抽象類,必須要子類化才可以使用. 可以使用系統提供的UICollectionViewFlowLayout獲取(UICollectionViewLayout/UICollectionViewFlowLayout)的子類對象.