自定义plain 样式的 tableview,模拟器上不显示分割线,真机上却显示分割线.

一, 经历

1> 自定义plain 样式的 tableview,模拟器上不显示分割线,真机上却显示cell 下面的分割线.

2> 尝试使用表格的separatorStyle属性,尝试失败.尝试使用 grouped 类型的表格,设置 headerview 和 footview 的代理方法或tableFooterView属性都不生效.

3> 同事定位到问题应该出在,已经设置过separatorStyle属性,接着又被系统的某些属性覆盖了,而且没有数据的单元格被系统自动创建了.

4> 同事接着让我①在 viewdidappear 等方法中重新设置separatorStyle属性,并②让tableFooterView属性设置为一个普通的 UIView 控件,结果还真成功了.

代码如下:

1 - (void)layoutSubviews{
2     [super layoutSubviews];
3     // 重新设置分割线
4     self.separatorStyle = UITableViewCellSeparatorStyleNone;
5 }
1     // 在构造方法或 viewdidload 方法中添加如下语句
2     self.tableFooterView = [[UIView alloc]initWithFrame:CGRectMake(0, 0, 1, 1)];

 

二,经验总结

1> 无论什么 bug, 都尽量好好思考其产生的原因.这个 bug 的原因很可能是系统将剩余的没用完的 cell 继续创建下去了,作为tableFooterView了.

2> 多分析,才能提高自己的能力.

posted on 2016-03-04 18:33  活最好的自己  阅读(484)  评论(0编辑  收藏  举报

导航