UITableView一些归整
解释
UITableView实例,或者简单点说,表视图是指用来展示和编辑的分层信息列表。表视图在单个列中展示一组列表项。
- UITableView继承于UIScrollView,是UIScrollView的子集,允许用户滚动整个列表,但仅允许纵向滚动。
- UITableViewCell对象组成列表内相互独立的每一项;UITableView用UITableViewCell对象来构建列表行。
- Cells的内容有标题,有图片,并且在右侧边缘,还有类似附件一样的视图(accessory views)。标准的附件视图有扩展箭头,用于引导用户跳转到数据层级的下一层次;详细信息按钮,用于向用户转向选中项的详细内容页面。附件视图同样可以进行类似切换,滑动等的框架操作,也可以是用于展示内容的普通视图。
- UITableView可以进行插入行,删除行,排序行等操作。
继承
NSObject—>NSResponder—>UIView—>UIScrollView—>UITableView
UITableView继承UIScrollView,UIScrollView继承UIView,UIView继承NSResponder,NSResponder继承NSObject。
方法定义
1.初始化UITableView对象
- initWithFrame:style: 制定初始化
初始化并返回一个给定框架和风格的表格视图对象
声明
- (instancetype)initWithFrame:(CGRect)frame style:(UITableViewStyle)style
通过这种方法创建tableview,必须在创建时制定tableview的风格,创建完成后就不能进行修改。如果通过initWithFrame初始化的tableview,默认的风格就是UITableViewStylePlain。
2.rowHeight tableview每一行的高度
如果委托delegate未实现tableView:heightForRowAtIndexPath:的方法,可通过设置rowHeight来设置tableview的行高。rowHeight的默认值是UITableViewAutomaticDimension。记住,如果要创建一个自适应高度的cell时,要获取预期的自适应效果,设置rowHeight时,必须用
rowHeight = UITableViewAutomaticDimension。
如果可以,推荐使用rowHeight来设置行高,使用tableView:heightForRowAtIndexPath:的tableview,每次展示时,都会访问tableView:heightForRowAtIndexPath:,当行的数目过大,超过1000行甚至更多时就会导致重大的性能问题。
3.tableHeaderView 在tableview上一层展示的accessory View,默认值为nil,与section header是不一样的
tableFooterView 在tableview下一层展示的accessory View,默认值为nil,与section footer不一样。
4.- indexPathForCell: 返回代表已给tableview cell 行和组的序号(index path)