您的位置:首页 > 产品设计 > UI/UE

UICollectionView基础

2016-06-06 19:27 393 查看
    //定义展示的UICollectionViewCell的个数

    -(NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section

    {

        return
30;

    }

    

    //定义展示的Section的个数

    -(NSInteger)numberOfSectionsInCollectionView:(UICollectionView *)collectionView

    {

        return
1;

    }

    //每个UICollectionView展示的内容

    -(UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath

    {

        static NSString * CellIdentifier =
@"GradientCell";

        UICollectionViewCell * cell = [collectionView dequeueReusableCellWithReuseIdentifier:CellIdentifier forIndexPath:indexPath];

        

        cell.backgroundColor = [UIColor colorWithRed:((10 * indexPath.row) /
255.0) green:((20 * indexPath.row)/255.0) blue:((30
* indexPath.row)/255.0) alpha:1.0f];

        return cell;

    }

#pragma mark --UICollectionViewDelegateFlowLayout

    //定义每个UICollectionView
的大小

    - (CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout*)collectionViewLayout sizeForItemAtIndexPath:(NSIndexPath *)indexPath

    {

        return CGSizeMake(96,
100);

    }

    //定义每个UICollectionView
的 margin

    -(UIEdgeInsets)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout insetForSectionAtIndex:(NSInteger)section

    {

        return UIEdgeInsetsMake(5,
5, 5,
5);

    }

#pragma mark --UICollectionViewDelegate

    //UICollectionView被选中时调用的方法

    -(void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath

    {

        UICollectionViewCell * cell = (UICollectionViewCell *)[collectionView cellForItemAtIndexPath:indexPath];

        cell.backgroundColor = [UIColor whiteColor];

    }

    //返回这个UICollectionView是否可以被选择

    -(BOOL)collectionView:(UICollectionView *)collectionView shouldSelectItemAtIndexPath:(NSIndexPath *)indexPath

    {  

        return
YES;  

    }

    

    - (id)initWithFrame:(CGRect)frame

    {

        self = [super initWithFrame:frame];

        if (self)

        {

            // 初始化时加载collectionCell.xib文件

            NSArray *arrayOfViews = [[NSBundle mainBundle] loadNibNamed:@"CollectionCell" owner:self options:nil];

            

            // 如果路径不存在,return nil

            if (arrayOfViews.count <
1)

            {

                return
nil;

            }

            // 如果xib中view不属于UICollectionViewCell类,return
nil

            if (![[arrayOfViews objectAtIndex:0] isKindOfClass:[UICollectionViewCell class]])

            {

                return
nil;

            }

            // 加载nib

            self = [arrayOfViews objectAtIndex:0];

        }  

        return
self;  

    }

    

    
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息