对于UITableView的细节点说明

UITableView就是表格控件
UITableView的常见属性
- 由行和列来组成
- 提醒: UITableView中每行只有1列
- 每行中保存的都是一个UITableViewCell对象
- UITableView的常见属性
* rowHeight , 可以统一设置所有行的高度
* separatorColor, 分隔线的颜色
* separatorStyle, 分割线的样式
* tableHeaderView, 一般可以放广告
* tableFooterView, 一般可以放加载更多

UITableView分两种样式
1> Plain, 简明样式(不分组的样式)
2> Grouped, 分组的样式
- 无论分组样式还是不分组样式, 其实都能显示分组数据、显示组标题、组描述。

UITableVIew数据源对象中的三个重要方法
一、UITableView展示数据的时候需要知道当前有几组?
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
** 注意: 不实现这个方法默认就是一组。

二、每一组有几行?
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section

三、每行显示什么内容?
- (UITableViewCell )tableView:(UITableView )tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
** 注意: 分析上面的3个数据源方法的执行顺序次数

使用基本步骤
1》设置数据源对象
2》让数据源对象遵守UITableViewDataSource协议
3》实现3个数据源方法
4》通过代理来监听各种事件

UITableView修改每行的行高
1> 介绍在 viewDidLoad 中统一设置行高tableView.rowHeight(如果行高都一样,一定要通过这个来设置(高效),不要要代理方法(低效))
tableView.rowHeight

2> 通过代理方法实现:
- (CGFloat)tableView:(UITableView )tableView heightForRowAtIndexPath:(NSIndexPath )indexPath(低效)

3> 通过设置预估行高, 提高tableView的一开始的响应速度
- self.tabelView.estimatedRowHeight

UITableViewCell的常见属性
* imageView 图片框
* textLabel 文本框
* detailTextLabel 副文本框

  • accessoryType 右侧箭头样式
  • accessoryView

  • backgroundColor , 设置单元格的背景颜色

  • backgroundView, 可以利用这个属性来设置单元格的背景图片, 指定一个UIImageView就可以了。

  • selectedBackgroundView , 当某行被选中的时候的背景
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在UITableView的section中添加数据,你需要先创建一个包含所需数据的数组。然后,在UITableViewDataSource协议中实现以下方法: 1. numberOfSections(in tableView: UITableView) -> Int:返回表格中的section数。 2. tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int:返回指定section中的行数。 3. tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell:返回指定indexPath的UITableViewCell实例。 例如,假设你有一个包含多个section的UITableView,每个section都包含一个字符串数组。以下是一个示例代码: ``` class ViewController: UIViewController, UITableViewDataSource { var data: [[String]] = [["item 1", "item 2"], ["item 3", "item 4", "item 5"]] @IBOutlet weak var tableView: UITableView! override func viewDidLoad() { super.viewDidLoad() tableView.dataSource = self } // MARK: - UITableViewDataSource func numberOfSections(in tableView: UITableView) -> Int { return data.count } func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { return data[section].count } func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { let cell = tableView.dequeueReusableCell(withIdentifier: "Cell", for: indexPath) cell.textLabel?.text = data[indexPath.section][indexPath.row] return cell } } ``` 在这个例子中,我们创建了一个包含两个section的UITableView。每个section都有一个字符串数组,我们将其存储在data数组中。在numberOfSections方法中,我们返回data数组的数量,即section的数量。在tableView(_:numberOfRowsInSection:)方法中,我们返回特定section中的行数。最后,在tableView(_:cellForRowAt:)方法中,我们获取特定indexPath的字符串并将其显示在UITableViewCell中。 注意,在上述示例代码中,我们将UITableViewCell标识符设置为“Cell”,你需要确保在Storyboard或xib文件中对应的UITableViewCell的标识符也设置为“Cell”。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值