ios的通过Xib构建UICollectionView的简单运用

UICollectionView使用Xib自定义cell 平时直接在Storyboard中拖拽UICollectionView,然后画Cell。但是项目多个View都用到该Cell,于是将其提出来复用。 阅读详情

众所周知,UICollectionView是ios6才最新引进来的API,用于展示集合视图,可实现多列布局;

经常听人说起 UICollectionView怎么好用,由于之前在赶项目也没有什么时间去学习这个,现在闲下来,学习了简单的使用,感觉功能还是蛮强大的,相对UIScrollView和UITableView它相对而言更灵活了;

UICollectionView有两种方式,一种是 Xib还有一种是纯代码,今天暂时是学习的Xib的方式 ;

学习总结如下:

1.创建工程,要实现UICollectionView需要ViewController实现它的三个代理协议UICollectionViewDataSource、UICollectionViewDelegate、UICollectionViewDelegateFlowLayout;

2.声明相关的UICollectionView的类如下:

@property (nonatomic,strong)UICollectionView *collectionView;

3.创建Xib文件,命名为CollectionCell,在xib中拖入如下视图


拖入后如下图所示,

在这个cell里面添加相应的控件,添加完如下所示:


到这里xib文件算是创建完了;

4.在ViewController.m文件中初始化 UICollectionView如下所示:

[objc]  view plain  copy
 print ?
  1. <span style="font-size:14px;">    UICollectionViewFlowLayout *flowLayout = [[UICollectionViewFlowLayout alloc] init];  
  2.     self.collectionView = [[UICollectionView alloc] initWithFrame:CGRectMake(0, 20, self.view.frame.size.width, self.view.frame.size.height) collectionViewLayout:flowLayout];  
  3.     self.collectionView.delegate = self;        //实现代理  
  4.     self.collectionView.dataSource = self;      //实现数据源方法  
  5.     self.collectionView.allowsMultipleSelection = YES;      //实现多选,默认是NO  
  6.     [self.view addSubview:self.collectionView];</span>  

5.在ViewDidLoad中通过Nib生成cell,然后注册 Nib的view需要继承 UICollectionViewCell

    [self.collectionViewregisterNib:[UINibnibWithNibName:@"CollectionCell"bundle:nil]forCellWithReuseIdentifier:@"collectionCellID"];

6.实现他的代理方法,主要有如下几个

[objc]  view plain  copy
 print ?
  1. //有多少个item  
  2. -(NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section{  
  3.       
  4.     return self.dataArray.count;  
  5. }  
  6.   
  7.   
  8. -(UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath{  
  9.       
  10.     UICollectionViewCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:@"collectionCellID" forIndexPath:indexPath];  
  11.       
  12.     UIImageView *imageView = (UIImageView *)[cell viewWithTag:1];   //在创建Xib的时候给了控件相应的tag值  
  13.     UILabel *label = (UILabel *)[cell viewWithTag:2];  
  14.       
  15.     [imageView setImage:[UIImage imageNamed:[self.dataArray objectAtIndex:indexPath.row]]];  
  16.     [label setText:[self.dataArray objectAtIndex:indexPath.row]];  
  17.       
  18.     cell.backgroundColor = [UIColor redColor];  
  19.       
  20.     return cell;  
  21.       
  22. }  
  23.   
  24. //UICollectionViewCell的大小  
  25. -(CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout sizeForItemAtIndexPath:(NSIndexPath *)indexPath{  
  26.       
  27.     return CGSizeMake(90, 116);  
  28. }  

[objc]  view plain  copy
 print ?
  1. //选择cell时  
  2. -(void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath{  
  3.       
  4.     UICollectionViewCell *cell = [collectionView cellForItemAtIndexPath:indexPath];  
  5.     cell.backgroundColor =  [UIColor greenColor];  
  6. }  
  7.   
  8. //取消cell时  
  9. -(void)collectionView:(UICollectionView *)collectionView didDeselectItemAtIndexPath:(NSIndexPath *)indexPath{  
  10.       
  11.     UICollectionViewCell *cell = [collectionView cellForItemAtIndexPath:indexPath];  
  12.     cell.backgroundColor =  [UIColor redColor];  
  13. }  

完成以上操作运行 效果图如下;


http://blog.youkuaiyun.com/chuming0311/article/details/49251315
[iOS]UICollectionView布局使用之一-简单布局 UICollectionView组件从iOS5开始就有了,但是一般项目很少用。这里还是梳理一下它的使用方法。 我们看到很多电商类APP,比如:天猫,京东,里面的商品列表,就可以用UICollectionView来实现。 借用苹果的一张图了解下它的工作流程:   a、首先我们从APP界面上看到的是一行行和一列列的单元格,就是类似tableview的cell.在UICollectionVi... 阅读详情

相关推荐

iOS_Swift之UICollectionView详解

github下载地址:下载源码 一、简单介绍       UICollectionView是一种很常用的控件,与常用控件UITableView有很多相似的地方,它们都是UIScrollView的子类。UICollectionView可以实现很多不同布局的设计,比如常见的九宫格就是通过UICollectionView来实现的。下面通过一个Demo来详细介绍它的使用。 二、Demo介

hackerzchao 1万+

工业信号传输抗干扰:FOD4216与PIC18F4620实战方案

电磁干扰(EMI)是工业自动化领域常见的技术挑战,尤其在电机控制和自动化产线等场景中,信号传输的稳定性直接影响系统可靠性。通过光电隔离技术(如FOD4216光耦)与微控制器(如PIC18F4620)的协同设计,可构建从物理层到协议层的完整抗干扰体系。FOD4216提供高达4000Vrms的隔离电压,有效阻断地环路干扰;PIC18F4620则利用硬件PWM和通信接口减少时序抖动。这种组合方案在汽车焊装车间等工业环境中,能将信号误码率显著降低。合理的PCB布局(如三区隔离法则)和动态阈值滤波算法进一步提升了系统

weixin_33835103的博客 536

iOS-UICollectionView快速构造/拖拽重排/轮播实现

代码地址如下:http://www.demodashi.com/demo/11366.html 目录 * UICollectionView的定义 * UICollectionView快速构建GridView网格视图 * UICollectionView拖拽重排处理(iOS8.x-/iOS9.x+) * UICollectionView实现简单轮播UICollectionView的定义UICo

findhappy117的博客 2123

iOS UICollectionView(转一) XIB+纯代码创建:cell,头脚视图 cell间距

之前用CollectionViewController只是皮毛,一些iOS从入门到精通的书上也是泛泛而谈。这几天好好的搞了搞苹果的开发文档上CollectionViewController的内容,亲身体验了一下CollectionViewController的强大,之前一直认为CollectionView和TableView用法差不多,功能应该也是类似的。TableView的功能就已...

abaodc2308的博客 442

UICollectionViewXIB

UICollectionViewXIB Demo 简单 易懂

UICollectionView、UICollectionView基本用法、UICollectionView详解

UICollectionView、UICollectionView基本用法、UICollectionView详解,UICollectionView常用方法

一、ios的通过Xib构建UICollectionView的简单运用

众所周知,UICollectionView是ios6才最新引进来的API,用于展示集合视图,可实现多列布局; 经常听人说起 UICollectionView怎么好用,由于之前在赶项目也没有什么时间去学习这个,现在闲下来,学习了简单的使用,感觉功能还是蛮强大的,相对UIScrollView和UITableView它相对而言更灵活了; UICollectionView有两种方式,一种是 Xib还有

一只小菜鸟 1万+

ios-UICollectionView嵌套--- 类似美团首页.zip

UICollectionView嵌套--- 类似美团首页

使用xib文件创建CollectionView

1.创建xib文件和CollectionViewController.h,.m文件 2.在View中拖入一个CollectionView,并在CollectionViewController.h中添加关联,并设置CollectionView的代理 3.将xib文件中CollectionView的File's Owner改为CollectionViewController...

weixin_30500105的博客 179

【校园网代理连接问题】已解决,“该设备或资源(Web 代理)未设置为接受端口“7890”上的连接“

我遇到这个问题很多次。每次都是vpn的问题,不止通俗意义上的梯子(clash之类的),还包括校园网vpn。点击“ 拨号和虚拟专用网络设置”中的“设置”, 关闭代理服务器。在打开vpn后或者关闭vpn后无法浏览网页,网页诊断显示“关闭“手动设置代理”中的“使用代理服务器”,关闭对应的本地代理即可。

聆雨。 1万+

2024年上半年网络工程师下午真题及答案解析

位于MPLS域边缘、连接其他网络的LSR称为( 3 ),区域内部的LSR称为核心LSR(CoreLSR)IP报文进入MPLS网络时,MPLS入口设备分析IP报文的内容并为其添加合适的标签,所有MPLS网络中的LSR根据标签转发数据,当该IP报文离开MPLS网络时,标签由出口LER弹出。LSP的出口LER称为( 6 )。某高校网络拓扑如下图所示,两校区核心(CORE-1、CORE-2),出口防火墙(NGFW-1、NGFW-2)通过校区间光缆互联,配置OSPF实现全校路由收敛,两校区相距40km。

bsefef的博客 2475

iOS UICollectionView XIB

版权声明:本文为博主原创文章,未经博主允许不得转载。 目录(?)[+] 首先认识一下UICollectionView [objc] view plain copy   NS_CLASS_AVAILABLE_IOS(6_0) @interface UICollectionView : UIScrollView  

Flying_in_the_world的专栏 2393

PT静态时序分析实战:从基础命令到高级报告解析

本文详细介绍了PT(PrimeTime)静态时序分析(STA)的实战技巧,从基础命令如pt_shell和report_timing的使用,到高级报告解析与问题排查。通过丰富的实例和脚本示例,帮助工程师快速掌握时序分析的核心技能,提升芯片设计验证效率。

weixin_29289821的博客 954

iOS xib添加UICollectionView ,iOS UITableViewCell中包含UICollectionView

步骤 1. 使用xib来定义一个cell, 添加位置约束. 步骤2. 在xib中设置UICollection的属性,如 scroll Direction 设置为水平显示。 Scrolling Enable设置为NO。 在代码中设置属性 UICollectionViewFlowLayout *flowLayout = [[UICollectionViewFlowLayout alloc]...

u014616159的博客 2190

LabVIEW通过ActiveX控件实现与三菱FX5U PLC的高效数据交互

本文详细介绍了如何利用LabVIEW的ActiveX控件,通过三菱官方MX Component工具包实现与FX5U PLC的高效数据交互。文章从环境配置、控件插入到实战代码解析,系统讲解了连接建立、数据读写及资源释放的全流程,并提供了关键的避坑指南,帮助工程师快速构建稳定可靠的上位机通讯系统。

weixin_29197051的博客 373

【RandLA-Net实战】从零构建隧道点云数据集并训练大场景语义分割模型

本文详细介绍了如何使用RandLA-Net构建隧道点云数据集并进行大场景语义分割模型训练。从数据采集、标注到模型训练与优化,提供了完整的实战指南,特别针对隧道场景的特殊挑战提出了解决方案。通过实际案例展示了RandLA-Net在处理大场景点云数据时的高效性和准确性,为隧道巡检等工程应用提供了可靠的技术支持。

weixin_30485379的博客 116

iOS 开发 UICollectionView使用Xib自定义cell

平时直接在Storyboard中拖拽UICollectionView,然后画Cell。但是项目多个View都用到该Cell,于是将其提出来复用。 1、创建一个继承自UICollectionViewCell的类,暂且命名为ResourceCollectionViewCell,勾选Also create XIB file 来创建xib文件(当然,你也可以单独创建),这样就创建了三个文件 2...

奋斗吧灬青年的博客 2727

个人整理的数据集(手写中文数据、发票数据、快递单数据、车牌数据)

本人在工作生活中收集了各个方面比较多的真实的数据集如下: 一、手写中文数据集 1、档案类数据: 此数据集为手写档案数据,数量较大,大约128G,图像均未标注。 ex: 2、手写作文数据: 此数据集为手写作文数据,是大约800M左右,图像按行提供位置和内容标注,十分珍贵。 ex: 二、发票数据集: 1、增值税发票 此数据集包含了大量真实的增值税发票数据,大约9G,标注了发票位置数据,未提供详细标注。 ex: 2、购车发票 此数据集未提供标注。

weixin_43143224的博客 5877

iOS开发:xib之UICollectionView自定义cell

XIB——UICollectionView自定义cell 创建UICollectionViewCell的XIB文件: 利用:XIB——AutoLayout添加约束自定义cell: 不会添加约束的,可参考iOS开发:XIB之AutoLayout添加约束 注册cell:!!! 协议方法中给cell赋值 运行:iPhone 6 : 375 * 667 :

Dongxk的博客 6468

STM32(HAL库)驱动st7789LCD屏幕(7引脚240*240)

屏幕厂家提供的都是标准库,网上找了找没看到好用的HAL库屏幕驱动,因此本文对HAL库驱动TFT屏幕进行详细讲解。

weixin_44597885的博客 6065

基于YOLO系列的安全帽检测系统:从理论到实现的完整指南

安全帽检测作为计算机视觉在工业安全领域的重要应用,近年来得到了广泛关注。本文详细介绍了基于YOLOv5、YOLOv6、YOLOv7和YOLOv8的安全帽检测系统的完整实现方案,包括算法原理、数据集构建、模型训练、性能优化以及完整的UI界面设计。通过对比分析不同YOLO版本的性能差异,本文为工业安全检测系统的开发提供了全面的技术参考和实践指导。

YOLO 364

iOS-UI之UICollectionView must be initialized with a non-nil layout parameter'解决方式

出现错误: 解决方式: 用xib创建的集合视图 #import "ViewController.h" #import "CollectionCell.h" @interface ViewController () @end @implementation ViewContro

A_Studystudy的博客 9652

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

ios 如何通过XIB 或者storyboard 创建headView 和footerView?

首先,你在XIB 上,选中 collectionView 然后将headView或者footerView 勾上, 注意: 你如果没有footerView 就不要勾了,因为不实现的话会报错,headerView 同里 然后在XIB 或者storyboard上面 制作出你想要的效果, 最后,你需要在代码里面实现一个协议,这样 headView 和 footerView就可以显

DSH0106的专栏 3111

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

iOS UICollectionView 纯代码,无xib

//     1)  必须使用下面的方法进行Cell类的注册:     //    - (void)registerClass:forCellWithReuseIdentifier:     //    - (void)registerClass:forSupplementaryViewOfKind:withReuseIdentifier:     //    - (voi

︶ ̄嘀調℃ 3526

UICollectionView创建 xib

使用xib创建UICollectionView

ziyujie1991的博客 893

iOS 注册Xib注册总结

注册CollectionViewCell //Class注册 [collectionView registerClass:[CollectionViewCell class] forCellWithReuseIdentifier:@"cell"]; //Xib注册 [collectionView registerNib:[UINib nibWithNibName:@"xx

sinat_30993547的博客 2271
上一篇: git .gitignore文件
stand___
博客等级 码龄11年 0粉丝 0原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值