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 问题