IOS基金会_ UICollectionView简单易用

IOS基金会_ UICollectionView简单易用

大家好,又见面了,我是全栈君,今天给大家准备了Idea注册码。

和表格视图类似 UICollectionView的使用有两种方法

一种是继承UICollectionViewController,这个Controller会自带一个UICollectionView。

第二种是创建一个UIConllectionView 视图放在普通的UIViewController里面。

我们用另外一种


首先声明先声明一个重用标示  和实现托付

#define _CELL @“acell”

@interface yxpViewController ()<UICollectionViewDataSource,UICollectionViewDelegate,UICollectionViewDelegateFlowLayout>


然后初始化UICollectionVIew

– (void)initCollectionView

{

    //先实例化一个层

    UICollectionViewFlowLayout *layout=[[UICollectionViewFlowLayout alloc] init];

    

    //创建一屏的视图大小

    UICollectionView *collectionView=[[UICollectionView alloc] initWithFrame:self.view.bounds collectionViewLayout:layout];

    

    [collectionView registerClass:[UICollectionViewCell class] forCellWithReuseIdentifier:_CELL];

    collectionView.backgroundColor=[UIColor whiteColor];

    collectionView.delegate=self;

    collectionView.dataSource=self;

    

    [self.view addSubview:collectionView];

}


实现代理方法

#pragma mark –UICollectionViewDataSource

//定义展示的UICollectionViewCell的个数

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

{

    return 31;

}

//定义展示的Section的个数

-(NSInteger)numberOfSectionsInCollectionView:(UICollectionView *)collectionView

{

    return 1;

}

//每一个UICollectionView展示的内容

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

{

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

    

    cell.backgroundColor = [UIColor colorWithRed:((arc4random()%255)/255.0) green:((arc4random()%255)/255.0) blue:((arc4random()%255)/255.0) alpha:1.0f];

    

    return cell;

}


#pragma mark –UICollectionViewDelegate

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

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

{

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

    cell.backgroundColor = [UIColor colorWithRed:((arc4random()%255)/255.0) green:((arc4random()%255)/255.0) blue:((arc4random()%255)/255.0) alpha:1.0f];

}

//返回这个UICollectionViewCell能否够被选择

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

{

    return YES;

}



#pragma mark –UICollectionViewDelegateFlowLayout

//定义每一个UICollectionView 的大小

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

{

    return CGSizeMake(90, 90);

}

//定义每一个UICollectionView 的边距

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

{

    return UIEdgeInsetsMake(10, 10, 10,10);

}


这样一个简单地UICollection视图就完毕了



版权声明:本文博主原创文章,博客,未经同意不得转载。

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

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • leetcode 题解 || Swap Nodes in Pairs 问题[通俗易懂]

    leetcode 题解 || Swap Nodes in Pairs 问题

    2022年2月2日
    47
  • redis+springboot_全集成厨房

    redis+springboot_全集成厨房一、Redis集成简介Redis是我们Java开发中,使用频次非常高的一个nosql数据库,数据以key-value键值对的形式存储在内存中。redis的常用使用场景,可以做缓存,分布式锁,自增序列等,使用redis的方式和我们使用数据库的方式差不多,首先我们要在自己的本机电脑或者服务器上安装一个redis的服务器,通过我们的java客户端在程序中进行集成,然后通过客户端完成对redis的增删改查操作。redis的Java客户端类型还是很多的,常见的有jedis,redission,lettuce等,

    2022年9月22日
    2
  • C语言 爱心代码_用c语言编辑一个爱心

    C语言 爱心代码_用c语言编辑一个爱心需要的自取,看明白了就可以自己修改爱心的大小#include<stdio.h>intmain(){intn,k,m,p,q;for(n=1;n<=2;n++){for(k=1;k<=15-n;k++)printf(“”);for(m=1;m<=2*n;m++)printf(“*”);for(p=1;p<=5-2*

    2022年10月13日
    2
  • Flink的sink实战之二:kafka

    Flink的sink实战之二:kafka

    2020年11月19日
    180
  • Java面试题及答案整理( 2022最新版,持续更新)[通俗易懂]

    Java面试题及答案整理( 2022最新版,持续更新)[通俗易懂]发现网上很多Java面试题都没有答案,所以花了很长时间搜集整理出来了这套Java面试题大全,希望对大家有帮助哈~Java面试永远是程序员迈向成功的第一个门槛,想要面试成功,各种面试题的洗礼是必不可少的,下面就来看看小编精心整理的一些Java工程师面试题及答案吧。博主已将以下这些面试题整理成了一个Java面试手册,是PDF版的。这套Java面试题大全,希望对大家有帮助哈~博主已将以下这些面试题整理成了一个Java面试手册,是PDF版的1、64位JVM中,int的长度是多数?Ja

    2022年7月7日
    16
  • G-Sync 与 FreeSync : 显示器的未来

    G-Sync 与 FreeSync : 显示器的未来如果你经常关注显示器,或是爱在电脑上玩游戏/看电影,那么你可能需要了解以下两个最新的技术:Nvidia的G-Sync以及AMD的FreeSync。

    2022年6月10日
    59

发表回复

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

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