iOS collectionView 自动布局 无需插件

//代码
- (UICollectionView *)mineCollection{
    if (!_mineCollection) {
        UICollectionViewFlowLayout *layout = [[UICollectionViewFlowLayout alloc]init];
        layout.minimumLineSpacing = 10;
        layout.minimumInteritemSpacing = 10;
        layout.sectionInset = UIEdgeInsetsMake(15, 15, 10, kht(15));
        _mineCollection = [[UICollectionView alloc]initWithFrame:CGRectMake(0, 0, KUIScreenWidth, KUIScreenHeight - TABBARDIBU - kht(50)) collectionViewLayout:layout];
        _mineCollection.delegate = self;
        _mineCollection.dataSource = self;
        _mineCollection.showsHorizontalScrollIndicator = YES;
        _mineCollection.showsVerticalScrollIndicator = YES;
        _mineCollection.scrollEnabled = YES;
        _mineCollection.backgroundColor = [UIColor whiteColor];
        [_mineCollection registerClass:[JSAddOtherCollectionViewCell class] forCellWithReuseIdentifier:kReuseIdentifier0];
        [_mineCollection registerClass:[HeaderCollectionReusableView class] forSupplementaryViewOfKind:UICollectionElementKindSectionHeader withReuseIdentifier:kReuseIdentifier1];
        [_mineCollection registerClass:[FootCollectionReusableView class] forSupplementaryViewOfKind:UICollectionElementKindSectionFooter withReuseIdentifier:kReuseIdentifier2];
        
        /*相当牛逼的可以设置左对齐*/
        SEL sel = NSSelectorFromString(@"_setRowAlignmentsOptions:");
        if ([_mineCollection.collectionViewLayout respondsToSelector:sel]) {
            ((void(*)(id,SEL,NSDictionary*))objc_msgSend)(_mineCollection.collectionViewLayout,sel,
                                                          @{@"UIFlowLayoutCommonRowHorizontalAlignmentKey":@(NSTextAlignmentLeft),
                                                            @"UIFlowLayoutLastRowHorizontalAlignmentKey" : @(NSTextAlignmentLeft),
                                                            @"UIFlowLayoutRowVerticalAlignmentKey" : @(NSTextAlignmentCenter)});
            
        }
    }
    return _mineCollection;
}
  • demo 地址:
    https://github.com/yanbinisgoodman/YBCollectionViewDemo.git

你可能感兴趣的:(iOS collectionView 自动布局 无需插件)