tableView的底层实现

来源:互联网 发布:费洛蒙 牌子 知乎 编辑:程序博客网 时间:2024/05/17 08:56
通过在cellForRow方法和heightForRow方法打印函数,发现
1.系统首先把所有的cell的位置都计算好,保存
2.当cell要显示的时候,就会拿到这个cell去设置frame
cell.frame = self.frame[row]


所以万能的设置cell分割线的方法
1.取消系统的分割线
2.将tableView的背景色设置成分割线的背景色
3.重写setFrame方法,在cell将要显示给cell的frame赋值的时候让cell的高度-1,然后赋值,
第二个cell的y值不会变,因为cell的y值在赋值之前已经全部计算好并且保存起来了,所以在给每个cell赋值的时候做手脚就行了
NSStringFromEdgInset(sertorEdgInt);
NSStringFromCGRect(frame);
0 0
原创粉丝点击