扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
听语音
创新互联建站是一家朝气蓬勃的网站建设公司。公司专注于为企业提供信息化建设解决方案。从事网站开发,网站制作,网站设计,网站模板,微信公众号开发,软件开发,小程序设计,十余年建站对OPP胶袋等多个行业,拥有丰富的网站维护经验。1
2
3
4
5
6
7
分步阅读
一键约师傅
习惯了使用xib和StoryBoard创建UICollectionView项目工程的伙伴,需要转换使用纯代码来实现,想避免碰更多的壁,就需要认真 了解创建UICollectionView过程了。创建UICollectionView比创建UITableView更加复杂,初始化方式也是相对奇 特。以下是使用纯代码创建UICollectionView的方法。
MAC OS X操作系统::OS X 10.11.5
编译环境:Xcode 7.3.1
1
创建工程项目和视图控制器
创建工程项目UICollectionView,新建一个UIViewController。选中工程,右键-New File…选择“Cocoa Touch Class”-Next,给个合理的名称ViewController,再Next完成。
在AppDelegate.m文件包含#import "ViewController.h"。添加代码:
UINavigationController *navC = [[UINavigationController alloc]initWithRootViewController:[[ViewController alloc]init]];
self.window.rootViewController = navC;//将navC设置为根视图控制器。
修改一下ViewController的显示样式,执行编译,run一下,效果如图。
2
创建自定义UICollectionViewCell
选中工程,右键-New File…选择“Cocoa Touch Class”-Next,选择继承于UICollectionViewCell类,给个合理的名称CollectionViewCell,再Next完成。
1、自定义所需要的控件,比如UIImageView:
@property(nonatomic ,strong)UIImageView *imgView;
2、初始化控件,在方法- (id)initWithFrame:(CGRect)frame中实现:
self.imgView = [[UIImageView alloc]initWithFrame:CGRectMake(0, 30, 150, 140)];
self.imgView.backgroundColor = [UIColor groupTableViewBackgroundColor];
[self addSubview:self.imgView];
3
实现初始化UICollectionView方法
1、在ViewController.h添加事件代理和数据源代理
2、在ViewController.m创建UICollectionView。需要使用UICollectionViewFlowLayout来创建, 使用方法- (instancetype)initWithFrame:(CGRect)frame collectionViewLayout:(UICollectionViewLayout *)layout;如果只用普通的init方法,是实现不了的。
3、设置flowLayout的属性。
4、初始化CollectionViewCell和头部。
4
实现UICollectionView的Delegate、DataSource方法
1、返回Items个数:collectionView: numberOfItemsInSection:
2、返回Sections个数:numberOfSectionsInCollectionView:
3、返回Cell显示内容:collectionView: cellForItemAtIndexPath:
4、返回头部尾部显示内容:collectionView: viewForSupplementaryElementOfKind: atIndexPath:
5、选中时调用的方法:collectionView: didSelectItemAtIndexPath:
5
显示CollectionView及设置数据源
在viewDidLoad方法内:[self.view addSubview:self.collectionView];
代 码self.collectionView会自动调用setter、getter方法。即调用- (UICollectionView *)collectionView方法初始化并返回collectionView。然后addSubview:到self.view上。配合广告栏和定时 器,完成显示。
END
https://github.com/cjq002/UICollectionView-Pure-code.git
代码运行效果如图。
END
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流