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

Posted

技术标签:

【中文标题】iOS 7.1 中未显示 UITableView 选定的单元格分隔符【英文标题】:UITableView selected cell separator not shown in iOS 7.1 【发布时间】:2014-03-30 10:42:15 【问题描述】:

我有一个很奇怪的问题。 UITableView 中选定单元格的分隔线在 ios 7 中没有显示。如下图:

所以我使用了以下代码:

-(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 上编译我的应用程序时,问题再次出现,这次没有任何技巧起作用。 我用过:

    cell.clipsToBounds = YES;

2.[tableView reloadRowsAtIndexPaths:indexPath withRowAnimation:UITableViewRowAnimationNone];

    删除了我之前的代码。

    尝试了几种分隔符样式。

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

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

【问题讨论】:

为什么要像这样显示和隐藏分隔符 tableView.separatorStyle = UITableViewCellSeparatorStyleNone; tableView.separatorStyle = UITableViewCellSeparatorStyleSingleLine; 你到底想做什么?你想在选择时显示/隐藏分隔符? @Basheer_CAD 这是 ios 错误,有一些解决方案。 然后发布您的解决方案。 【参考方案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];

而且效果很好。

【讨论】:

不需要添加自己的分隔符,但我无法让 XCode 显示其分隔符,所以这对我也有用。

以上是关于iOS 7.1 中未显示 UITableView 选定的单元格分隔符的主要内容,如果未能解决你的问题,请参考以下文章

iTunes Connect - TestFlight (Xcode 7.1) 中未显示新版本

iOS 7.1 UITableView layoutSubviews 问题

UITableView 中未加载 JSON 数据

一些 Cordova 插件在 iOS 模拟器中未定义

在 iOS 9 中未调用 updateSearchResultsForSearchController

在 MasterDetailPage Xamarin iOS 中未正确显示图标