iOS collectionView使用

党博超
2023-12-01

//布局
    UICollectionViewFlowLayout *flowRight = [[UICollectionViewFlowLayout alloc] init];
    [flowRight setItemSize:CGSizeMake(250, 227)];//(915-102)/3 = 271     650/2 = 325
    [flowRight setMinimumInteritemSpacing:1];
    [flowRight setMinimumLineSpacing:1];
    [flowRight setSectionInset:UIEdgeInsetsMake(5, 8, 0, 0)];
    [flowRight setScrollDirection:UICollectionViewScrollDirectionVertical];
//collectView
 collectViewRight = [[UICollectionView alloc] initWithFrame:CGRectMake(0, 15, 760, 230*3) collectionViewLayout:flowRight];
    collectViewRight.dataSource = self;
    collectViewRight.delegate = self;
//    [collectViewRight setContentSize:CGSizeMake(760, 230*4)];
    [collectViewRight setBackgroundColor:[UIColor whiteColor]];
    [collectViewRight registerClass:[fenleiDetailRightCell class] forCellWithReuseIdentifier:@"fenleiDetailRightCell"];
    [rightView addSubview:collectViewRight];
    [flowRight release];
    [collectViewRight release];
//collect协议
-(UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath
{
     if (collectionView ==collectViewRight) {
     
         static NSString *cellId = @"fenleiDetailRightCell";
         fenleiDetailRightCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:cellId forIndexPath:indexPath];
         
         cell.title.text = @"标题标题";
         cell.imageView.image = [UIImage imageNamed:@"ipad_bg_02"];
         [cell.bgView setImage:[UIImage imageNamed:@"ipad_bg_03"]];
         return cell;
     }else
     {
         static NSString *cellId = @"fenleiDetailLeftCell";
         fenleiDetailLeftCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:cellId forIndexPath:indexPath];
         
         cell.title.text = @"标题标题";
         cell.imageView.image = [UIImage imageNamed:@"ipad_bg_02"];
         [cell.bgView setImage:[UIImage imageNamed:@"ipad_bg_03"]];
         return cell;
     }
   
}
-(NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section
{
    if (collectionView ==collectViewRight) {
        return 11;
    }
    else
    {
       return 12;
    }
    
}

CELL

#import "fenleiDetailRightCell.h"

@implementation fenleiDetailRightCell

- (id)initWithFrame:(CGRect)frame
{
    self = [super initWithFrame:frame];
    if (self) {
        self.bgView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 240, 220)];
        self.imageView = [[UIImageView alloc] initWithFrame:CGRectMake(10, 12, 220, 170)];
        self.title = [[UILabel alloc] initWithFrame:CGRectMake(10, 180, 220 ,30)];
        [self.title setFont:[UIFont boldSystemFontOfSize:18]];
        [self.title setTextAlignment:NSTextAlignmentCenter];
        [self.title setBackgroundColor:[UIColor clearColor]];
        [self.bgView addSubview:self.imageView];
        [self.bgView addSubview:self.title];
        [self addSubview:self.bgView];
        [_imageView release];
        [_title release];
    }
    return self;
}

/*
// Only override drawRect: if you perform custom drawing.
// An empty implementation adversely affects performance during animation.
- (void)drawRect:(CGRect)rect
{
    // Drawing code
}
*/
-(void)dealloc
{
    [_title release];
    [_bgView release];
    [_imageView release];
    [super dealloc];
}
@end

根据cell里面和layout修改间距


 类似资料: