4th*_*ace 141 cocoa-touch uitableview ios
什么会导致表格视图单元格被触摸后保持高亮显示?我点击单元格,可以看到它在按下详细视图时保持高亮显示.弹出详细信息视图后,单元格仍会突出显示.
pau*_*erd 256
在didSelectRowAtIndexPath你需要打电话deselectRowAtIndexPath取消选择单元格.
所以无论你在做什么,didSelectRowAtIndexPath你只需要打电话deselectRowAtIndexPath.
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
// Do some stuff when the row is selected
[tableView deselectRowAtIndexPath:indexPath animated:YES];
}
Run Code Online (Sandbox Code Playgroud)
Dan*_*ail 59
最干净的方法是在viewWillAppear上:
- (void)viewWillAppear:(BOOL)animated
{
[super viewWillAppear:animated];
// Unselect the selected row if any
NSIndexPath* selection = [self.tableView indexPathForSelectedRow];
if (selection) {
[self.tableView deselectRowAtIndexPath:selection animated:YES];
}
}
Run Code Online (Sandbox Code Playgroud)
这样,当你返回到控制器时,你就有了淡出选择的动画.
取自http://forums.macrumors.com/showthread.php?t=577677
Swift版本
override func viewDidAppear(_ animated: Bool) {
super.viewDidAppear(animated)
// deselect the selected row if any
let selectedRow: IndexPath? = tableView.indexPathForSelectedRow
if let selectedRowNotNill = selectedRow {
tableView.deselectRow(at: selectedRowNotNill, animated: true)
}
}
Run Code Online (Sandbox Code Playgroud)
Han*_*ers 20
你是否是子类-(void)viewWillAppear:(BOOL)animated?如果不调用[super viewWillAppear:animated];自定义方法,则不会取消选择所选的UITableViewCell .
Rut*_*ans 19
对于Swift用户,请将其添加到您的代码中:
func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
tableView.deselectRowAtIndexPath(indexPath, animated: true)
}
Run Code Online (Sandbox Code Playgroud)
除了Swift而不是Obj-C之外,这是paulthenerd的答案.
Swift 3解决方案
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
tableView.deselectRow(at: indexPath as IndexPath, animated: true)
}
Run Code Online (Sandbox Code Playgroud)
如果您使用的是UITableViewCell,请注释以下行
- (void)setSelected:(BOOL)selected animated:(BOOL)animated
{
// [super setSelected:selected animated:animated];
}
Run Code Online (Sandbox Code Playgroud)
希望这可以帮助.
| 归档时间: |
|
| 查看次数: |
61010 次 |
| 最近记录: |