显示数据列表 大家通常使用的是UITableView
 不用说TableView 是大家的首选。在iOS6之前这也是必选。但是伴随着APP的成长一起都在变化目前更多的呈现一种块状的显示效果、之前的行式显示效果大家都已见的太多了。接下来大家和我一起来看看另外的一种控件 - UICollectionView

1、实例化
2、自动布局
3、横向
4、纵向
5、协议
6、Cell

一、实例化
   UICollectionView 的实例化和其它控件存在一个不同的地方。
   init
   initWithFrame:
   initWithFrame: collectionViewLayout:
   前面的两个实例化方法是从父类继承来的,在实际使用中不使用如果使用程序会报错。
   通常使用第三个方法这是因为在实例化UICollectionView 是需要指定一个布局,UICollectionView 呈现时是根据这个布局对象来显示。
二、自动布局
    AutoLayout 这个很简单将 UICollectionView 实例的 translatesAutoresizingMaskIntoConstraints 属性设置为NO 然后添加相应的约束。
    
三、布局(UICollectionViewFlowLayout) 这里将横向和纵向布局放在一起
   UICollectionView 显示布局非常灵活凡是UITableView 能够显示的它都能显示。
   由于CollectionView 是块状布局决定了它能够实现横纵布局, 这两种布局苹果官方已经封装好。同时还有更多的布局方式可以通过继承 UICollectionViewFlowLayout 自定义。
   横向布局和纵向布局主要是通过布局实例对象的属性scrollDirection 来控制,    UICollectionViewScrollDirectionVertical/UICollectionViewScrollDirectionHorizontal 分别代表纵向布局和横向布局默认是纵向布局。

当然在横向布局的时候需要注意的是UICollectionView 的高度。如果高度设置不合理就不能显示出横向滚动的效果。
   布局实例可以在实例化的时候就设置好相应的显示效果也可以通过 UICollectionViewDelegateFlowLayout 协议灵活实现。
   
四、协议(UICollectionViewDataSource,UICollectionViewDelegate)
   主要是数据源和动作协议
   数据源协议主要控制数据的显示
   动作协议主要是捕捉用户的相关操作和动画。
   这里需要注意一个小问题:数据能够正常显示但UICollectionView 没有滑动效果。这时将 UICollectionView 实例的 alwaysBounceHorizontal 属性值设置成YES 如果是纵向滚动就是 alwaysBounceVertical。
   
五、Cell
   使用UICollectionView 显示数据必须使用registerClass或者registerNib 注册对应的Cell 目的是便于重用同时避免了每次显示都要重新实例化,在UICollectionView 中默认必须注册Cell。

对于UITableView则可以不必注册,建议大家在使用UITableView 时最好是先注册Cell,这样做的好处大家应该能知道吧?

总结:
   UICollectionView 在显示数据上表现的灵活性和美观 都要优于UITableView 但是在有些方面还是相对于UITableView 来说还是有所不足例如:编辑、分组索引 、多选.

UICollectionView 简单使用的更多相关文章

  1. Swift UICollectionView 简单使用

    最近要研究下排布的游戏关卡界面的实现,简单做了个UICollectionView的demo. 先看最后的效果: 下面来看实现的方法把,在Storyboard对应的ViewController中增加一个 ...

  2. IOS基金会_ UICollectionView简单易用

    和表格视图类似 UICollectionView的使用有两种方法 一种是继承UICollectionViewController,这个Controller会自带一个UICollectionView. ...

  3. UICollectionView 简单应用和实际操作

    1.网格视图   UICollectionView      网格布局 UICollectionViewFlowLayout系统图自带网格布局 系统自带的网格布局 UICollectionViewFl ...

  4. iOS UICollectionView简单使用

    UICollectionView 和 UICollectionViewController 类是iOS6 新引进的API,用于展示集合视图,布局更加灵活,可实现多列布局,用法类似于UITableVie ...

  5. UICollectionView 简单的使用和注意事项

    UICollectionView 在创建的时候,要给它一个UICollectionViewFlowLayout (不然会崩溃),就像tableview一样,也要为它注册自定义的cell. UIColl ...

  6. ios UICollectionView简单说明

    原谅我记不住写下来好了 UICollectionViewFlowLayout 流式自动布局 继承于UICollectionViewLayout 初始化:[[UICollectionViewFlowLa ...

  7. Swift3.0 UICollectionView简单使用

    感觉swift各版本语法改动太大,储备着吧

  8. 一些iOS面试基础题总结

    一些iOS面试基础题总结 目录 多线程 AutoLayout objc_msgSend Runtime 消息转发 Category NSObject 与 objc_class Runloop Auto ...

  9. UICollectionView 很简单的写个瀑布流

    你项目中要用到它吗? 可能会在你的项目中用到这玩意,最近也是要用就简单的写了一个 Demo.没多少代码,就不放Git了,下面会详细点的说说代码的,要还有什么问题的小伙伴可以直接Q我,也可以把Demo发 ...

随机推荐

  1. nginx 配置wordpress固定链接(自定义)

    今天在wordpress 下配置文章固定链接的时候,遇到了404的错误.我首先在wordpress下的设置里的“固定链接”配置页面,自定义链接的结构 “http://www.haozi8.com/%p ...

  2. c# 参数传递

    c#类型有值类型与引用类型. 无论哪种类型的变量,作为方法的参数进行传递时,默认是以"值传递"方式来传递的. 传递给方法的形参,在执行时都会新创建一个局部变量,然后接受实参的值, ...

  3. 我所理解的 惠普云 (HP Cloud)

    HP (惠普)于2014年5月27日宣布了它的新的云产品线 HP Helion,并宣布在接下来的两年时间内向该产品线投资10亿美金.应该说这是一笔很大的投入,充分显示了HP 在云这个领域的决心.本文试 ...

  4. Java之美[从菜鸟到高手演变]之JVM内存管理及垃圾回收

    很多Java面试的时候,都会问到有关Java垃圾回收的问题,提到垃圾回收肯定要涉及到JVM内存管理机制,Java语言的执行效率一直被C.C++程序员所嘲笑,其实,事实就是这样,Java在执行效率方面确 ...

  5. hadoop入门:hadoop使用shell命令总结

    第一部分:Hadoop Bin后面根据项目的实际需要Hadoop Bin  包括:Hadoop  hadoop的Shellhadoop-config.sh 它的作用是对一些变量进行赋值     HAD ...

  6. Hadoop Shell命令字典(可收藏)

    可以带着下面问题来阅读: 1.chmod与chown的区别是什麽?2.cat将路径指定文件的内容输出到哪里?3.cp能否是不同之间复制?4.hdfs如何查看文件大小?5.hdfs如何合并文件?6.如何 ...

  7. 边工作边刷题:70天一遍leetcode: day 86-2

    Best Meeting Point 要点: 题本身不难理解,manhattan distance.follow up就变成weighted了(因为一个地方可以有多个住户) 注意input是grid的 ...

  8. POJ 2464 Brownie Points II --树状数组

    题意: 有点迷.有一些点,Stan先选择某个点,经过这个点画一条竖线,Ollie选择一个经过这条直接的点画一条横线.Stan选这两条直线分成的左下和右上部分的点,Ollie选左上和右下部分的点.Sta ...

  9. 通过JDBC进行简单的增删改查

    通过JDBC进行简单的增删改查(以MySQL为例) 目录 前言:什么是JDBC 一.准备工作(一):MySQL安装配置和基础学习 二.准备工作(二):下载数据库对应的jar包并导入 三.JDBC基本操 ...

  10. nginx 一二事(3) - 反向代理以及负载均衡

    先来说说正向代理 就是普通的代理,记得高中年代偷跑去网吧是要办卡的 题外话: 就是这货...相信很多80同龄人都有吧...    回到正题,那正向代理就不让你直接访问网络,而需要登录一下网吧的某个系统 ...