1、 问题
第一次进去的时候,发现1-6 这个cell右边没有分割线,而且这个1-6的Cell 不能选中,影响事件。 但是当上下滑动后,它会出来,完全正常。
2、解决办法
折腾了 大半天, 找到原因:
注释掉自定义cell类里的- (void)setFrame:(CGRect)frame 方法,IOS7 就好了。
@implementation MyTableViewCell
- (void)setFrame:(CGRect)frame {
frame.size.width = self.window.frame.size.width;
[super setFrame:frame];
}
再去IOS 8 测试,发现全没分割线了:
解决办法在对应的TableViewController里面加上下面语句,就好了
self.tableView.separatorStyle = UITableViewCellSeparatorStyleSingleLine;
3、分割线相关扩展
if ([self.tableView respondsToSelector:@selector(setSeparatorInset:)]) {
[self.tableView setSeparatorInset:UIEdgeInsetsZero];
}
if ([self.tableView respondsToSelector:@selector(setLayoutMargins:)]) {
[self.tableView setLayoutMargins:UIEdgeInsetsZero];
}
}
-(void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPat{
if ([cell respondsToSelector:@selector(setLayoutMargins:)]) {
[cell setLayoutMargins:UIEdgeInsetsZero];
}
if ([cell respondsToSelector:@selector(setSeparatorInset:)]){
[cell setSeparatorInset:UIEdgeInsetsZero];
}
}