UICollectionView 使用遇到的小问题记录

应用场景:在自定义的UItableviewcell 中使用 UICollectionView
遇到问题:UICollectionViewCell 的代理方法不调用
问题原因:初始化UICollectionView 时的位置不对
// 错误的写法

-(instancetype)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier {
    self = [super initWithStyle:style reuseIdentifier:reuseIdentifier];
    if(self) {
    // collecitonView 代理及注册
    // 子页面配置
        [self initSubViews];
        self.selectionStyle = UITableViewCellSelectionStyleNone;
         _photoCollectionView.delegate = self;
    _photoCollectionView.dataSource = self;
    [_photoCollectionView registerNib:[UINib nibWithNibName:@"PhotoCollectionCell" bundle:nil] forCellWithReuseIdentifier:phCollectionIdentifer];
    }
    return self;
}

-(void)initSubViews {
UICollectionViewFlowLayout *flowLayout = [[UICollectionViewFlowLayout alloc] init];
        [flowLayout setScrollDirection:UICollectionViewScrollDirectionVertical];
    
    _photoCollectionView = [[UICollectionView alloc] initWithFrame:CGRectZero collectionViewLayout:flowLayout];
[self.contentView addSubview:_photoCollectionView ];
}

正确的写法:

-(instancetype)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier {
    self = [super initWithStyle:style reuseIdentifier:reuseIdentifier];
    if(self) {
    // collecitonView 代理及注册
    // 子页面配置
        [self initSubViews];
        self.selectionStyle = UITableViewCellSelectionStyleNone;
    }
    return self;
}
-(void)initSubViews {
UICollectionViewFlowLayout *flowLayout = [[UICollectionViewFlowLayout alloc] init];
        [flowLayout setScrollDirection:UICollectionViewScrollDirectionVertical];
    
    _photoCollectionView = [[UICollectionView alloc] initWithFrame:CGRectZero collectionViewLayout:flowLayout];
 _photoCollectionView.delegate = self;
    _photoCollectionView.dataSource = self;
    [_photoCollectionView registerNib:[UINib nibWithNibName:@"PhotoCollectionCell" bundle:nil] forCellWithReuseIdentifier:phCollectionIdentifer];
[self.contentView addSubview:_photoCollectionView ];
}

你可能感兴趣的:(UICollectionView 使用遇到的小问题记录)