TableViewCell分割线的设置

来源:互联网 发布:评价李鸿章 知乎 编辑:程序博客网 时间:2024/04/27 22:17

// 在创建tableview的时候加代码  :(设置所有的cell分割线从头显示)

       if ([tbView respondsToSelector:@selector(setSeparatorInset:)]) {

            [tbView setSeparatorInset:UIEdgeInsetsMake(0,0,0,0)];

        }

       if ([tbView respondsToSelector:@selector(setLayoutMargins:)]) {

            [tbView setLayoutMargins:UIEdgeInsetsMake(0,0,0,0)];

        }


我们在使用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];


}


}


这样就可以设置单个cell的分割线从头显示

0 0