cell分割线的取消或者自定义

2016-07-08  本文已影响574人  Jabber_YQ

1.取消分割线

有些时候,tableview不需要cell分割线,那么需要改变tableview的separatorStyle属性。

tableView.separatorStyle = UITableViewCellSeparatorStyleNone;

2.自定义分割线

当tableview需要cell分割线但是和自带的的cell又有颜色frame之类的区别时,就可以在cell上添加一个view来“冒充”分割线。

UIView *line = [UIView new];

line.frame = CGRectMake(20, 43, SCREEN_WIDTH, 1);

line.backgroundColor = rgb(245, 245, 245);

[cell.contentView addSubview:line];

3.重写cell的frame

下面这个方法可以重新改变分割线的frame而不需要自定义

在ios8上 [TableViewsetSeparatorInset:UIEdgeInsetsMake(0,0,0,0)];不起作用

-(void)viewDidLayoutSubviews

{

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

    [self.tableView setSeparatorInset:UIEdgeInsetsMake(0,0,0,0)];

}

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

        [self.tableView setLayoutMargins:UIEdgeInsetsMake(0,0,0,0)];

    }

}

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

    }

}

上一篇下一篇

猜你喜欢

热点阅读