在iOS 7 中,我们可能会这样设置UItableview,把分割线右移的问题解决掉。
#ifdef __IPHONE_7_0
if ([tableViewProj respondsToSelector:@selector(separatorInset)]) {
[tableViewProj setSeparatorInset:UIEdgeInsetsZero];
}
#endif
但是在iOS8中就没有这么灵了。解决办法是:
首先在viewDidLoad方法加入以下代码:
if ([ tableViewProj respondsToSelector:@selector(setSeparatorInset:)]) {
[tableViewProj setSeparatorInset:UIEdgeInsetsZero];
}
if ([tableViewProj respondsToSelector:@selector(setLayoutMargins:)]) {
[tableViewProj 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];
}
}