UICollectionView基础

UICollectionView基础定义展示的 UICollection 的个数 nbsp nbsp NSInteger collectionVi UICollection collectionVi NSInteger section nbsp nbsp nbsp nbsp nbsp nbsp return30 nbsp nbsp nbsp nbsp nbsp nbsp nbsp

    //定义展示的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;

            }

            // 如果xibview不属于UICollectionViewCell类,return nil

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

            {

                return nil;

            }

            // 加载nib

            self = [arrayOfViews objectAtIndex:0];

        }  

        return self;  

    }

    

    


版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/226439.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月16日 下午10:54
下一篇 2026年3月16日 下午10:55


相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号