我有一个表格视图,其中一个表格视图单元格打开另一个应用程序。当我返回到我的应用程序时,表格视图单元格仍然突出显示。返回应用程序时取消选择表格视图单元格的最佳方法是什么?
编辑:问题是从应用返回时不会调用-viewWillAppear
或-viewDidAppear
,因为视图已经可见。
答案 0 :(得分:1)
在viewDidLoad中设置通知
final override func viewDidLoad() {
super.viewDidLoad()
// add notification observers
NotificationCenter.default.addObserver(self, selector: #selector(didBecomeActive), name: NSNotification.Name.UIApplicationDidBecomeActive, object: nil)
}
创建方法didBecomeActive
func didBecomeActive() {
if let indexPath = tableView.indexPathForSelectedRow {
deselectRow(at: indexPath, animated: true)
}
}
UIKit文档
答案 1 :(得分:1)
您有2个选项可以解决您的问题
取消选择didSelectRow方法中的行 示例代码
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
[tableView deselectRowAtIndexPath:indexPath animated:NO];
// Open app code here
}
查找所选行并取消选择行
将以下代码放在 viewDidAppear 方法
中for (NSIndexPath *indexPath in tableView.indexPathsForSelectedRows) {
[tableView deselectRowAtIndexPath:indexPath animated:NO];
}