ios中怎样实现uicollectionviewflowlayout的代码

 我来答
huanglenzhi
推荐于2016-01-28 · 知道合伙人数码行家
huanglenzhi
知道合伙人数码行家
采纳数:117538 获赞数:517174
长期从事计算机组装,维护,网络组建及管理。对计算机硬件、操作系统安装、典型网络设备具有详细认知。

向TA提问 私信TA
展开全部
  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一下,效果如图。
  iOS开发 纯代码创建UICollectionView
  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];
  iOS开发 纯代码创建UICollectionView
  iOS开发 纯代码创建UICollectionView
  3
  创建UICollectionView及添加代理
  1、在ViewController.h添加事件代理和数据源代理<UICollectionViewDataSource,UICollectionViewDelegate>。
  2、在ViewController.m创建UICollectionView。需要使用UICollectionViewFlowLayout来创建,使用方法- (instancetype)initWithFrame:(CGRect)frame collectionViewLayout:(UICollectionViewLayout *)layout;如果只用普通的init方法,是实现不了的。
  4、代理授权并添加至视图。
  self.collectionView.delegate = self;
  self.collectionView.dataSource = self;
  [self.view addSubview:self.collectionView];
  iOS开发 纯代码创建UICollectionView
  iOS开发 纯代码创建UICollectionView
  4
  把UICollectionViewCell添加到UICollectionView内
  1、注册CollectionViewCell,添加cell需要在这里实现。方法:- (void)registerClass:(Class)cellClass forCellWithReuseIdentifier:(NSString *)identifier;
  2、添加代理方法
  //定义展示的UICollectionViewCell的个数
  -(NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section;
  //定义展示的Section的个数
  -(NSInteger)numberOfSectionsInCollectionView:(UICollectionView *)collectionView;
  //每个UICollectionView展示的内容
  -(UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath;
  iOS开发 纯代码创建UICollectionView
  iOS开发 纯代码创建UICollectionView
  5
  设置UICollectionView中的属性
  //定义每个UICollectionView 的大小(返回CGSize:宽度和高度)
  - (CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout*)collectionViewLayout sizeForItemAtIndexPath:(NSIndexPath *)indexPath;
  //定义每个UICollectionView 的间距(返回UIEdgeInsets:上、左、下、右)
  -(UIEdgeInsets)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout insetForSectionAtIndex:(NSInteger)section;
  //定义每个UICollectionView 纵向的间距
  - (CGFloat)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout*)collectionViewLayout minimumInteritemSpacingForSectionAtIndex:(NSInteger)section;
  //UICollectionView被选中时调用的方法
  -(void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath;
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式