UITableView选择的单元格分隔符未在iOS 7.1中显示

时间:2014-03-30 10:42:16

标签: ios xcode uitableview

我有一个非常奇怪的问题。 UITableView中所选单元格的分隔线未在iOS 7中显示。如下图所示:

enter image description here

所以我使用了以下代码:

-(void)tableView:(UITableView *)tableView didHighlightRowAtIndexPath:(NSIndexPath *)indexPath {
    // fix for separators bug in iOS 7
    tableView.separatorStyle = UITableViewCellSeparatorStyleNone;
    tableView.separatorStyle = UITableViewCellSeparatorStyleSingleLine;
}

-(void)tableView:(UITableView *)tableView didUnhighlightRowAtIndexPath:(NSIndexPath *)indexPath {
    // fix for separators bug in iOS 7
    tableView.separatorStyle = UITableViewCellSeparatorStyleNone;
    tableView.separatorStyle = UITableViewCellSeparatorStyleSingleLine;
}

当我在iOS7上使用xCode 5时,它解决了问题。

但是当我更新到xCode 5.1并在iOS 7.1上编译我的应用程序时,问题又出现了,这次没有任何技巧。 我用过:

  1. cell.clipsToBounds = YES;
  2. 2. [tableView reloadRowsAtIndexPaths:indexPath withRowAnimation:UITableViewRowAnimationNone];

    1. 删除了我以前的代码。

    2. 尝试了几种分隔符样式。

    3. 和其他一些技巧。不幸的是,这次他们都没有工作。

      会有什么问题?我该如何解决?

1 个答案:

答案 0 :(得分:1)

我最后输入了以下代码行:

[tableView setSeparatorStyle:UITableViewCellSeparatorStyleNone];
UIView * lineAfterCell = [[UIView alloc] initWithFrame:CGRectMake(0, cell.frame.size.height + 1, self.view.frame.size.width, .5)];
[lineAfterCell setBackgroundColor:[UIColor lightGrayColor]];
[cell addSubview:lineAfterCell];

它完美无缺。