首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在用户返回到视图控制器时取消选中uitableview单元格

如何在用户返回到视图控制器时取消选中uitableview单元格
EN

Stack Overflow用户
提问于 2013-02-19 19:52:47
回答 4查看 27.1K关注 0票数 49

当用户选择uitableview单元格,然后将其推送到详细视图时,该单元格将突出显示。我希望单元格在返回到表视图视图控制器时不突出显示。

我该如何去实现这个目标呢?

我猜是viewWillAppear中的[cell.textLabel setHighlighted:NO];,但是如果我把它放在那里,它就是未声明的。

谢谢你的帮助

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2013-02-19 19:56:54

如果使用UITableViewController子类,则只需设置属性

代码语言:javascript
复制
self.clearsSelectionOnViewWillAppear = YES;

否则在viewWillAppear中只需调用

代码语言:javascript
复制
NSIndexPath *indexPath = self.tableView.indexPathForSelectedRow;
if (indexPath) {
    [self.tableView deselectRowAtIndexPath:indexPath animated:animated];
}

// MARK: - Swift 3
if let indexPath = tableView.indexPathForSelectedRow {
    tableView.deselectRow(at: indexPath, animated: true)
}
票数 106
EN

Stack Overflow用户

发布于 2013-02-19 19:56:13

试一试

代码语言:javascript
复制
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
    // Deselect the row which was tapped
    [tableView deselectRowAtIndexPath:indexPath animated:YES];
}
票数 7
EN

Stack Overflow用户

发布于 2017-06-20 22:18:10

swift 3

代码语言:javascript
复制
func clearOnAppearance() {
    for indexPath in tableView.indexPathsForSelectedRows ?? [] {
        tableView.deselectRow(at: indexPath, animated: true)
    }
}
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14956823

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档