UITableViewCell左側會有默認15像素的空白

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];

       }

}

相關文章
相關標籤/搜索