我的视图控制器是一个UIViewController
. 我已经添加UITableView
到UIView
. When the tableview row is selected, a push segue fires a new view controller. 但是,当从新视图控制器返回时,所选行保持选中状态。当我的第一个控制器是 an 时,我没有遇到这个问题UITableviewController
,但我不得不将其更改为 an UIViewController
,因为我想将活动指示器添加到我的视图中。我注意到的另一件事是,当我的第一个控制器是 a时UITableviewController
,viewDidLoad
从新视图控制器返回时没有调用(但现在它被调用了)。
问问题
2727 次
6 回答
11
添加...
[tableView deselectRowAtIndexPath:indexPath animated:YES];
在tableView:didSelectRowAtIndexPath:
于 2012-12-15T14:14:47.583 回答
4
尝试这个:
[cell setSelectionStyle:UITableViewCellSelectionStyleNone];
这将帮助你...
于 2012-12-15T14:18:14.537 回答
4
这种机制是建议答案的一种变体,当详细视图消失时会删除选择,但也可以帮助用户了解他们选择了什么来进入详细视图:
- (void)viewWillAppear:(BOOL)animated
{
[super viewWillAppear:animated];
[self.tableView deselectRowAtIndexPath:self.tableView.indexPathForSelectedRow animated:YES];
}
这似乎是苹果在他们自己的应用程序中所做的。请参阅在联系人应用程序中选择联系人记录时的行为示例。
于 2013-12-07T06:27:45.160 回答
2
你可以加
[tableView deselectRowAtIndexPath:indexPath animated:YES];
在tableView:didSelectRowAtIndexPath:
委托。
或者你可以做
-(void)viewWillAppear:(BOOL)animated
{
[table reloadData];
}
于 2012-12-15T14:20:19.417 回答
2
斯威夫特 3.0:
tableView.deselectRow(at: indexPath, animated: true)
于 2017-02-09T20:51:50.580 回答
-1
tableView.deselectRowAtIndexPath(indexPath, animated: true)
这可能有助于作为问题的更新答案。
在此处找到有关此主题的一些信息。http://www.raywenderlich.com/81880/storyboards-tutorial-swift-part-2
于 2014-12-16T14:22:35.213 回答