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 条评论
登录 后参与评论

相关文章

来自专栏移动开发

android 圆角图片的实现和封装

下面为主要源码,实现了 Picasso 中的 Transformation 接口。

924
来自专栏Android干货园

高仿微信朋友圈评论popwindow

版权声明:本文为博主原创文章,转载请标明出处。 https://blog.csdn.net/lyhhj/article/details/47...

801
来自专栏Android 技术栈

Android 自定义控件之起步代码实践总结

GitHub:https://github.com/youlookwhat/CustomViewStudy

701
来自专栏Android知识点总结

D6-Android绘图之一言不合画个表

1014
来自专栏cloudskyme

MFC自绘按钮的实现

自绘按钮的实现过程 申明自绘属性 进行VM_MESUREITEM事件响应,说明按钮的尺寸 进行VM_DRAWITEM消息的重新响应,说明如何绘制按钮 首先在vc...

3024
来自专栏Android 开发学习

NestedScrollView 嵌套 ListView 实现滑动折叠效果

3335
来自专栏mukekeheart的iOS之旅

iOS学习——tableview中带编辑功能的cell键盘弹出遮挡和收起问题解决

  最近在项目中经常用到UITableView中的cell中带有UITextField或UITextView的情况,然后在这种场景下,当我们点击屏幕较下方的ce...

4368
来自专栏非著名程序员

Android 实现视屏播放器、边播边缓存功能、外加铲屎(IJKPlayer)

Android 实现视屏播放器与边播边缓存功能外加蹲坑铲屎(IJKPlayer) hello,大家好,我就是那个会掀桌子的话唠,刚刚结束两篇关于音频播放与录制的...

5259
来自专栏Android干货园

Android源码解析--SwipeMenuListView仿QQ聊天左滑

版权声明:本文为博主原创文章,转载请标明出处。 https://blog.csdn.net/lyhhj/article/details/50...

761
来自专栏QQ音乐技术团队的专栏

小窗播放视频的原理和实现(下)

本文对小窗视频播放进行了详细的研究,针对几种实现方案进行了深入的对比分析,进而给出实现小窗视频播放的最优解。其中通过对系统源码的分析,详细探究了如何完美地实现移...

62210

扫码关注云+社区