如何在iOS 7中删除分隔线?

时间:2014-01-21 03:37:21

标签: ios objective-c cocoa-touch uitableview ios7

第一个截图是iOS7,不是我想要的 第一个截图是我想要的iOS6。

Tableview的风格很明显 Tableview的分隔符是none。

还有一种深灰色的背景视图。

我的代码如下

if ([tableView respondsToSelector:@selector(setSeparatorInset:)])
    {
        [tableView setSeparatorInset:UIEdgeInsetsZero];
    }

cell.backgroundView = [[UIImageView alloc] initWithImage:[ [UIImage imageNamed:@"icon_bg_box.png"] stretchableImageWithLeftCapWidth:0.0 topCapHeight:5.0] ];

enter image description here

enter image description here

3 个答案:

答案 0 :(得分:9)

您需要将单独的视图添加为分隔符 首先使tableViews分隔符为无

[self.tableView setSeparatorStyle:UITableViewCellSeparatorStyleNone];

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
        UITableViewCell *cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:nil];

    [cell addSubview:[self drawSeparationView:(indexPath.row)]];
      return cell;
    }

然后画出你的分隔符

- (UIView*)drawSeparationView:(NSInteger)itemNo {
    UIView *view = [[UIView alloc] init];
    view.frame = CGRectMake(0, 0, self.tableView.frame.size.width, cellHeight);

    UIView *upperStrip = [[UIView alloc]init];
    upperStrip.backgroundColor = [UIColor colorWithWhite:0.138 alpha:1.000];
    upperStrip.frame = CGRectMake(0, 0, view.frame.size.width, 2);
    [view addSubview:upperStrip];

    UIView *lowerStrip = [[UIView alloc]init];
    lowerStrip.backgroundColor = [UIColor colorWithWhite:0.063 alpha:1.000];
    lowerStrip.frame = CGRectMake(0, cellHeight-2, view.frame.size.width, 2);

    [view addSubview:lowerStrip];
    return view;
}

输出将是这样的

enter image description here

答案 1 :(得分:4)

这将隐藏分隔符

self.tableView.separatorStyle = UITableViewCellSeparatorStyleNone;

然后在底部的每个单元格中添加自定义分隔符imageView。

答案 2 :(得分:1)

试试这个

self.tableview.separatorColor = [UIColor clearColor];