CollectionView不执行 collectionView:cellForItemAtIndexPath

问题:

编译执行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)的子类对象.

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容