iOS-UITableView

1. 去掉数据下方的分割线

 

解决一:把tableView的风格设置为group的

解决二: self.tableView.tableFooterView = [[UIView alloc] init];

 2. 

 

3. 自定义cell

一,代码方式:

 在layoutSubviews中计算子控件位置尺寸或在initWithStyle中约束子控件

二, xib

  不用写initWithStyle和layoutSubviews, 直接在需要的地方注册该cell, 使用即可。

三, storyboard

  不用写initWithStyle和layoutSubviews, 不需要注册cell, 在storyboard中设置好identifier即可直接从缓存池中获取

 4. 不等高cell的高度计算(代码方式)

注意,先调用heightForRow再调用layoutSubviews,也就是先确定cell的宽高再layoutSubviews

所以,在layoutSubviews中确定子控件的位置尺寸,在heightForRow中也要计算cellHeight, 但这样要计算多次,效率很低。所以应该吧cellHeight封装到数据模型中,这样每行都只计算一次就可以了

最终解决方案

方法调用次序:

  heightForRow

  cellForRow

  layoutSubviews

5. storyboard不等高cell

 

 iOS8之前:(控件没有显示出来,系统是不会自动计算它的宽度高度的,所以要强制刷新

 

6. 设置estimateHeight的作用(值设置>0即可,建议写大一点)

  系统会频繁调用heightForRow以计算ContentSize来计算滚动条的大小。设置estimateHeight后,系统会先调用cellForRow, 再调heightForRow, 这样可以更快加载tableView

7. 

reloadRowsAtIndexPaths: 数组个数不能变

insertRowsAtIndexPaths 

deleteRowsAtIndexPaths

8. 左滑删除 (让左滑的部分平滑退回去,self.tableVIew.editing=NO)

9. 多个按钮

10. 要左边出现减号按钮,只需一句:tableView.editing=YES 或 [tableView setEditing: animated:]

11. 批量删除

点击”管理“按钮, self.tableVIew.editing=YES, 则此时可以多选

12. tableFootView在表格最后面,随着表格滚动而滚动

13. indexPathForSelectedRow

posted @ 2020-04-29 20:26  Emyin  阅读(130)  评论(0编辑  收藏  举报