升级到XCode6后,iOS8里设置tableview的setSeparatorInset:UIEdgeInsetsZero不起作用的解决办法

转:http://www.asklinux.com/app/ios/286#

我们在使用tableview时会发现分割线的左边会短一些,通常可以使用 setSeparatorInset:UIEdgeInsetsZero 来解决。但是升级到XCode6之后,在iOS8里发现没有效果。下面给出解决办法:

首先在viewDidLoad方法中加上如下代码:

 if ([self.tableView respondsToSelector:@selector(setSeparatorInset:)]) {



[self.tableView setSeparatorInset:UIEdgeInsetsZero];



}



if ([self.tableView respondsToSelector:@selector(setLayoutMargins:)]) {



[self.tableView setLayoutMargins:UIEdgeInsetsZero];



}

然后在willDisplayCell方法中加入如下代码:

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



}



}

 

你可能感兴趣的:(tableview)