ios7中,UITableViewCell左側會有默認15像素的空白。設置setSeparatorInset:UIEdgeInsetsZero 能將空白去掉。ios
ios8中,setSeparatorInset:UIEdgeInsetsZero 的設置已經不起做用了。代理
下面是解決辦法,首先在viewDidLoad方法加入如下代碼:io
if ([self.tableView respondsToSelector:@selector(setSeparatorInset:)])table
{select
[self.tableView setSeparatorInset:UIEdgeInsetsZero];ios7
}ios8
if ([self.tableView respondsToSelector:@selector(setLayoutMargins:)])方法
{tab
[self.tableView setLayoutMargins:UIEdgeInsetsZero];view
}
而後在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];
}
}