1.tableview需要顶到头,也就是从屏幕上边开始显示,而不是从导航栏开始
OC
self.autonmaticallyAdjustScrollViewInsets = NO
swift
self.autonmaticallyAdjustScrollViewInsets = false
因为当view controller检测到scrollview 为主体时,因为autonmaticallyAdjustScrollViewInsets默认为YES,所以加上了inset用来避开导航栏。
2.cell 按下去的效果
//一般在构造cell的代理用设置
cell.selectionStyle = UITableViewCellSelectionStyleNone;
//类型枚举
typedef NS_ENUM(NSInteger, UITableViewCellSelectionStyle) {
UITableViewCellSelectionStyleNone,//无效果
UITableViewCellSelectionStyleBlue,//蓝色
UITableViewCellSelectionStyleGray,//灰色
UITableViewCellSelectionStyleDefault NS_ENUM_AVAILABLE_IOS(7_0)
};
3.cell的分割线
//一般在初始化tableview时设置
tableView.separatorStyle = UITableViewCellSeparatorStyleNone;
//类型枚举
typedef NS_ENUM(NSInteger, UITableViewCellSeparatorStyle) {
UITableViewCellSeparatorStyleNone,
UITableViewCellSeparatorStyleSingleLine,
UITableViewCellSeparatorStyleSingleLineEtched // This separator style is only supported for grouped style table views currently
} __TVOS_PROHIBITED;
4.head and foot
tableFooterView tableview结束的时候 一般用来放置按钮 填写页脚信息等
tableHeaderView 头视图一般用来实现头像 背景墙之类的
代理viewForHeaderInSection group类tableview 每组的头视图
代理viewForFooterInSection group类tableview 每组的尾视图
高度设置0的时候为默认,所以需要不显示时 设置一个看不到的高度即可比如0.01
tableFooterView置为nil时 多余的cell就不会显示了
5.xib的cell注册
xib中腰关联class
然后在tableview初始化是注册cell
tableview.registerNib(UINib(nibName: "xibname", bundle: nil), forCellReuseIdentifier: "key")
6.自动适应cell
systrmLayoutSizeFittingSize方法可以将布局中确定的限制条件总和得出宽高但是并没有什么卵用
7.加载顺序
在不同iOS版本中 tableview的cell构造代理 和 cell height代理的加载顺序可能不同