UITableView基础1. UITableView的作用2. UITableView的常用属性3. tableView展示数据三部曲4. UITableViewStyleGrouped样式5. U

1. UITableView的作用

  • 以垂直滚动方式显示数据列表。
  • UITableView 的两种内置样式:UITableViewStylePlain 和UITableViewStyleGrouped 。
  • tableView只是一个愚蠢的容器,只负责显示。显示的是什么自己完全不知道。
  • 数据都是由dataSource提供。 要满足快速滚动,性能很重要

2. UITableView的常用属性

2.1 分割线属性

属性名称

作用

separatorStyle

分隔线样式

separatorColor

分隔线颜色

2.2 选中属性

属性名称

作用

allowsSelection

允许选中

allowsMultipleSelection

允许多选

2.3 行数

属性名称

作用

indexPathsForSelectedRows

当前选中行数

indexPathsForVisibleRows

当前可见行数

2.4 背景

属性名称

作用

backgroundView

背景视图

selectedBackgroundView

选中时的背景视图

2.5 UITableViewCell的selectionStyle属性可设置被选中时的背景颜色

属性名称

作用

UITableViewCellSelectionStyleNone

没有颜色

UITableViewCellSelectionStyleBlue

蓝色(默认)

UITableViewCellSelectionStyleGray

灰色

3. tableView展示数据三部曲

  1. 遵守数据源协议;
  2. 设置数据源
  3. 实现相应数据源方法
  • cell的默认高度是44,宽度和tableView等宽。

3.1 遵守数据源

@interface ViewController ()<UITableViewDataSource>

3.2 设置数据源

    self.tableView.dataSource = self;

3.3 实现数据源方法

  1. 总共多少组
  2. 每组多少行
  3. 每组中每行的内容
//返回有多少组
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView{
    return 2;
}

//返回有多少行,section 组的索引
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{
    return 10;
}

//返回每一组的每一行显示什么内容
- (UITableViewCell *) tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
    
    //创建UITableViewCell
    UITableViewCell *tableViewCell = [[UITableViewCell alloc]init];
    
    return tableViewCell;
}

4. UITableViewStyleGrouped样式

4.1 使用storyboard设置

Paste_Image.png

4.2 使用代码设置

Paste_Image.png

  • UITableViewStyle的style的属性是一个只读属性,所以修改不了。
  • 默认创建出来就是UITableViewStylePlain。
  • 但是可以在初始化的时候直接定义。
    UITableView *haha = [UITableView alloc]initWithFrame:<#(CGRect)#> style:(UITableViewStyle)];

5. UITableViewCell

5.1 四种默认样式

Paste_Image.png

typedef NS_ENUM(NSInteger, UITableViewCellStyle) {
    UITableViewCellStyleDefault,    // Simple cell with text label and optional image view (behavior of UITableViewCell in iPhoneOS 2.x)
    UITableViewCellStyleValue1,     // Left aligned label on left and right aligned label on right with blue text (Used in Settings)
    UITableViewCellStyleValue2,     // Right aligned label on left with blue text and left aligned label on right (Used in Phone/Contacts)
    UITableViewCellStyleSubtitle    // Left aligned label on top and left aligned label on bottom with gray text (Used in iPod).
};             // available in iPhone OS 3.0

满足不了需求,就需要自定义样式。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏非典型技术宅

NavigationBar&tabBar调色那些事儿1. 导航栏调色那些事儿2. 标签栏TableBar那些事儿

1085
来自专栏腾讯Bugly的专栏

iOS UITableView左滑操作功能的实现(iOS8-11)

本文主要是介绍下iOS 11系统及iOS 11之前的系统在实现左滑操作功能上的区别,及如何自定义左滑的标题颜色、字体大小。 一 左滑操作功能实现 1、如果左滑...

2988
来自专栏向治洪

VectorDrawable与AnimatedVectorDrawable

VectorDrawable  Android L开始提供了新的API VectorDrawable 可以使用SVG类型的资源,也就是矢量图。先来一个例子吧...

1915
来自专栏mukekeheart的iOS之旅

iOS学习——UIView的研究

在iOS开发中,我们知道有一个共同的基类——NSObject,但是对于界面视图而言,UIView是非常重要的一个类,UIView是很多视图控件的基类,因此,对于...

4078
来自专栏zcqshine's blog

ajaxFileUpload+ThinkPHP+jqGrid 图片上传与显示

3194
来自专栏Android知识点总结

Android关于Canvas你所知道的和不知道的一切

Picture相当于先拍一张照片,并且是在别的Canvas上,在别的Canvas上,在别的Canvas上! 重要的话说三遍:当需要的时候在贴在当前的canva...

452
来自专栏mukekeheart的iOS之旅

iOS学习——Quartz2D学习之UIKit绘制

  在IOS中绘图技术主要包括:UIKit、Quartz 2D、Core Animation和OpenGL ES。其中Core Animation提供动画实现技...

992
来自专栏小蠢驴iOS专题

iOS中Cell约束--使用xib实现多label的自动约束--高度随内容自适应

2566
来自专栏一“技”之长

iOS开发CoreAnimation解读之五——高级动画技巧

        CoreAnimation中还有一个非常重要的类:CATransaction事物类,这个可以同时设置多个layer层的动画效果。可以通过隐式和显...

731
来自专栏韩东吉的Unity杂货铺

零基础入门 19: UGUI ScrollBar

通常在实际项目中,对ScrollBar的应用非常简单,主要用于配合TableView或者ScrollView来进行使用,下一节我们将说明一下Unity里的Scr...

992

扫码关注云+社区