美文网首页iOS专题iOS开发iOS入门
初识iOS表视图UITableView

初识iOS表视图UITableView

作者: 亦枫 | 来源:发表于2016-02-06 23:06 被阅读1490次

记录一个菜鸟的iOS学习之旅,如能帮助正在学习的你,亦枫不胜荣幸;如路过的大神如指教几句,亦枫感激涕淋!

表视图 UITableView 类比于Android系统中的 ListView 控件,是iOS开发中使用最频繁的视图控件。

基本组成


表视图组成.png
  • 表头视图(Header View)
    列表视图的头信息,位于表视图的顶部,常见的有:上拉刷新列表头视图;

  • 表脚视图(Footer View)
    列表视图的脚信息,位于表视图的底部,常见的有:下拉加载更多;

上拉刷新 下拉加载更多.gif
  • 单元格(Cell)
    组成表视图的每一行的单位视图;

  • 节(Section)
    多行单元格组成,有节头和节尾;

  • 节头(Section Header)
    节的头部信息;

  • 节尾(Section Footer)
    节的尾部信息;

表视图分类


  • 普通表视图
    常用于动态表,即表视图数据不固定,通常来源于服务器动态数据库,如网易新闻客户端的新闻列表数据;


    动态表.png
  • 分组表视图
    常用于静态表,即表视图数据较为固定,更新不频繁,通常用于app的设置界面或“我”的界面,在iPhone手机中,系统设置界面较为常见。


    静态表.png

除了上面两种视图样式,iOS系统提供的表视图中还包含有索引列、选择列和搜索栏样式,如图所示:

索引列、选择列和搜索栏.jpg

单元格组成


单元格Cell.png

基本的单元格组成元素包括图片Image,标题Title,副标题SubTitle和扩展视图,我们也可以自己设计视图,添加更多的元素和设计更多的样式来丰富我们的表视图。其中,系统内置的扩展视图是由枚举类 UITableViewCellAccessoryType 定义的,包括如下常量内容:

  • UITableViewCellAccessoryNone
    没有扩展视图;

  • UITableViewCellAccessoryDisclosureIndicator
    扩展指示器,图标样式为一个大于号( > )的样式;

  • UITableViewCellAccessoryDetailDisclosureButton
    细节展示按钮,图标样式为感叹号( ! )的样式;

  • UITableViewCellAccessoryCheckmark
    选择指示器,图标样式为对勾( √ )的样式;

  • UITableViewCellStyleDefault
    默认样式,只有图片和主标题控件;

  • UITableViewCellStyleValue1
    无图标带副标题的样式一;

  • UITableViewCellStyleValue2
    无图标带副标题的样式二;

数据源协议和委托协议


类似Android系统中的适配器(Adapter)功能一样,iOS系统中的表视图需要实现数据源协议和委托协议。数据源协议是 UITableViewDataSource 类,其中必须实现的两个方法是: tableView:numberOfRowsInSection:tableView:cellForRowAtIndexPath:,用于定义表视图的数据源和视图样式 ;委托协议是 UITableViewDelegate ,用于定义节头和节尾视图以及响应触摸事件。

表视图作为iOS最常用的控件,能够进行很多样式和功能的拓展,在后续文章中我们一点一点的深入学习。

相关文章

网友评论

  • Joey_27:在写cell的时候,喜欢用layout,并在layout里去add自定义的title,然后发现每次进图都会重新添加,导致各种bug…
    wanmei世界:@Joey_27 在初始化方法里add子控件
  • 世界外面不安静:作者大大完全不懂你在讲什么😢想问问这个作为新人要怎么入手自学😊谢谢😍
    世界外面不安静:@亦枫 还没开始。。处于摇篮中OTZ
    亦枫:@世界外面不安静 你是什么基础自学的呢,要分情况哦
    庞大不小:@世界外面不安静 若是没有任何语言编程基础,先学c语言过渡入门。

本文标题:初识iOS表视图UITableView

本文链接:https://www.haomeiwen.com/subject/lwfykttx.html