为啥 uicollectionview 没有显示任何内容
Posted
技术标签:
【中文标题】为啥 uicollectionview 没有显示任何内容【英文标题】:why uicollectionview not showing anything为什么 uicollectionview 没有显示任何内容 【发布时间】:2017-08-24 11:23:10 【问题描述】:尝试如下使用UICollectionView
.h
#import <UIKit/UIKit.h>
@interface ViewController : UIViewController<UICollectionViewDataSource, UICollectionViewDelegate>
@property(strong, nonatomic) UICollectionView *collectionView;
@end
还有.m
#import "ViewController.h"
@interface ViewController ()<UICollectionViewDataSource, UICollectionViewDelegate>
@end
@implementation ViewController
@synthesize collectionView;
- (void)viewDidLoad
[super viewDidLoad];
self.view = [[UIView alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
UICollectionViewLayout *layout = [[UICollectionViewLayout alloc] init];
collectionView=[[UICollectionView alloc]initWithFrame:self.view.frame collectionViewLayout:layout];
[collectionView setDataSource:self];
[collectionView setDelegate:self];
[collectionView registerClass:[UICollectionViewCell class] forCellWithReuseIdentifier:@"cellIdentifier"];
[collectionView setBackgroundColor:[UIColor greenColor]];
[self.view addSubview:collectionView];
-(NSInteger) collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section
return 15;
-(UICollectionViewCell *) collectionView:(UICollectionView *)mycollectionView cellForItemAtIndexPath:(nonnull NSIndexPath *)indexPath
UICollectionViewCell *cell=[mycollectionView dequeueReusableCellWithReuseIdentifier:@"cellIdentifier" forIndexPath:indexPath];
cell.backgroundColor=[UIColor redColor];
return cell;
- (CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout*)collectionViewLayout sizeForItemAtIndexPath:(NSIndexPath *)indexPath
return CGSizeMake(50, 50);
@end
我打算在红色背景上显示绿色矩形列表,但只有红色背景显示,我错过了什么?
【问题讨论】:
确认 UICollectionViewDelegateFlowLoayout 协议。 提供屏幕截图。您所期待的以及即将到来的。 UICollectionViewFlowLayout *layout=[[UICollectionViewFlowLayout alloc] init]; [link](***.com/a/17856406/5714427通过这个) 【参考方案1】:在初始化布局时使用“UICollectionViewFlowLayout”代替“UICollectionViewLayout”。
UICollectionViewLayout *layout = [[UICollectionViewFlowLayout alloc] init];
link
【讨论】:
以上是关于为啥 uicollectionview 没有显示任何内容的主要内容,如果未能解决你的问题,请参考以下文章
为啥我的 ImageView 没有做任何事情,至少没有重绘?
为啥带有 UICollectionViewFlowLayout 的 UICollectionView 不显示单元格,而是询问大小?