UI设计图上好多Cell的分割线都是顶头的,但是默认的tableViewCell的seperatorLine却有15像素的空白。
我们常用的解决办法
self.tableView.separatorInset = UIEdgeInsetsZero;
但是很多时候发现这样的设置并不起作用,于是便有了下面的解决办法
- 初始化方法中
if ([self.tableView respondsToSelector:@selector(setSeparatorInset:)]) {
[self.tableView setSeparatorInset:UIEdgeInsetsZero];
}
if ([self.tableView respondsToSelector:@selector(setLayoutMargins:)]) {
[self.tableView setLayoutMargins:UIEdgeInsetsZero];
}
- UITableView的代理方法中
- (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath
{
if ([cell respondsToSelector:@selector(setSeparatorInset:)]) {
[cell setSeparatorInset:UIEdgeInsetsZero];
}
if ([cell respondsToSelector:@selector(setLayoutMargins:)]) {
[cell setLayoutMargins:UIEdgeInsetsZero];
}
}
好了,完美解决。