UIDatePicker、UIPickView和UICollectionView

1.  视图中的委托协议与数据源协议

相对简单的视图只指定了委托协议,例如UITextField(UITextFieldDelegate)和UITextView(UITextViewDelegate)

复杂的高级视图同时指定委托协议与数据源协议,主要有选择器(UIPickView)、集合视图(UICollectionView)和表视图(UITableView),对应的数据源协议命名同样是“视图名+DateSource”

(1) 日期选择器

代码部分和效果图:

(2)普通选择器 UIPickView  :  UIPickViewDataSource 和UIPickViewDelegate协议

首先 创建plist文件,保存地区数据。

代码部分先根据plist文件路径取出所有数据,然后依次添加控件选择器、显示标签和按钮,再实现按钮的点击事件,最后分别实现数据源方法和代理方法。

主要代码和效果图如下:


(3)集合视图UICollectionView

UICollectionView继承自UIScrollView,也有两个协议UICollectionViewDataSource和UICollectionViewDelegate. 

UICollectionViewCell是单元格类,它的布局由UICollectionViewLayout类定义,是抽象类。UICollectionViewFlowLayout类是UICollectionViewLayout的子类。------对于复杂的布局,可以自定义UICollectionViewLayout。 UICollectionView对应的控制器是UICollectionViewController。

如下图:


直接上代码


底下是UICollectionView的三个数据源方法----------[一般实现前两个就可以了。如果你需要对colltionView本身重用的话,就需要创建CollectionReusableView(继承自UICollectionReusableView)这个类,并实现第三个数据源方法]

这里分别是UICollectionView的代理方法和UICollectionViewDelegateFlowLayout代理方法

这是最终的效果图:


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 翻译自“Collection View Programming Guide for iOS” 0 关于iOS集合视...
    lakerszhy阅读 9,317评论 1 22
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 14,194评论 4 61
  • UICollectionView是我们常说的集合视图,它在iOS 6中引入,是iOS开发者中最受欢迎的UI元素之一...
    pro648阅读 13,677评论 18 44
  • 08 补充业务之一 就在市场二部如火如荼的那段时间,F、Y和M拓展了些非公司主流业务,渐渐结成了一个新的铁三角,合...
    一般般笨的猫阅读 1,248评论 0 0
  • 1 目前在简书写作的人越来越多,很多伙伴都是日更,这样的精神实在难能可贵。因为写作我们有很多新的收获,同时也有很多...
    耕耘生活阅读 5,363评论 29 66