系统默认的cell的分割线都是向右有一些偏移的,大多数时候我们不需要对其进行修改,但是如果产品有这种特殊需求,需要让cell的分割线不偏移,此时就需要下面这样做了。
在需要实现的类中,实现如下两个方法,并且需要显式的调用viewDidLayoutSubviews这个方法,这样就可以看到分割线的偏移已经被干掉了
//自己实现的方法
-(void)viewDidLayoutSubviews {
if ([self.mytableview respondsToSelector:@selector(setSeparatorInset:)]) {
[self.mytableview setSeparatorInset:UIEdgeInsetsZero];
}
if ([self.mytableview respondsToSelector:@selector(setLayoutMargins:)]) {
[self.mytableview setLayoutMargins:UIEdgeInsetsZero];
}
}
//这是tableView的代理方法
-(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];
}
}
好了,就是这么简单,希望有帮到你!