博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Xib实现UICollectionView
阅读量:6229 次
发布时间:2019-06-21

本文共 1780 字,大约阅读时间需要 5 分钟。

  hot3.png

第一步:在ViewColltroller拖进一个 Collection View 调整位置,设置控制它的文件:ViewController

第二步:遵守协议:

至少要有前两个!!!注意实现必要方法!!!!

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

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

 第三步:设置代理和数据源是什么。

    _collectionView.delegate=self;  

 _collectionView.dataSource=self;

第四步:建立XIB 建立一个类,注意勾选  Also Create XIB File ……选择同时创建一个Xib并注意选择UICollectionViewCell作为父类,此时会自动生成三个文件: 在新建的XIB里绘制Cell的结构。

            首先修改每一个Cell的大小 给Cell取别名 给控件拖线          

        注意:可选类是Cell类型 此处Cell是由于取别名自动变化,如果别名不是Cell就可以是别的

第五步:在与XIB一起生成的文件中提取XIB,注意使用方法要描述位置!!!

 - (id)initWithFrame:(CGRect)frame  {  

   self=[superinitWithFrame:frame];     

   NSArray *array=[[NSBundlemainBundle]loadNibNamed:@"CollectionViewCell"owner:selfoptions:nil];    

   self=[array lastObject];

   returnself;

 }

 第六步:在ViewController中在实现必要方法时先引入包, 为了可复用Cell,因此我要registerClass

        [_collectViewregisterClass:[CollectionCellclass] forCellWithReuseIdentifier:@"Cell"];

  之后绘制单元元素

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

  //找寻可复用的Cell

    staticNSString *reuse  = @"Cell";

   CollectionCell *cell = [ collectionView dequeueReusableCellWithReuseIdentifier:reuse forIndexPath:indexPath];

        //import 图片      

 //利用路径找到图片信息

    NSString *imageName = [NSStringstringWithFormat:@"%.2ld", indexPath.row + 1 ];

     cell.cellImageView.image = [UIImageimageNamed: imageName];

    cell.cellLabel.text = imageName; 

    return cell;

 }

 注意,如果运行后元素无法完全显示,是由于控件元素单元格过于小,设置元素大小利用方法:

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

                 returnCGSizeMake(180,180);

 }

转载于:https://my.oschina.net/jlong/blog/483996

你可能感兴趣的文章
Qtcreator中经常使用快捷键总结
查看>>
可扩展Web架构与分布式系统(转)
查看>>
KVM虚拟机的安装
查看>>
【转】PHP中require和include路径问题总结
查看>>
Android 监听apk安装替换卸载广播
查看>>
指针之——一级二级多级指针
查看>>
AndroidStudio遇到过的问题
查看>>
MySQL整体架构与内存结构
查看>>
线上centos6出现软死锁 kernel:BUG: soft lockup
查看>>
pl/sql developer 自动输入替换 光标自动定位
查看>>
HTML5学习笔记(二十三):DOM应用之动态加载脚本
查看>>
Java 中的悲观锁和乐观锁的实现
查看>>
XAMPP permissions on Mac OS X
查看>>
ffmpeg
查看>>
openGL一些概念02
查看>>
su: cannot set user id: Resource temporarily unavailable【转】
查看>>
音频变调技术
查看>>
解决App can’t be opened because it is from an unidentified developer
查看>>
读《那些年,那些事 一个程序猿的奋斗史》 一点自己的感触
查看>>
LeetCode(1) Symmetric Tree
查看>>