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