在视图出现之前进行 UITableView 选择
Posted
技术标签:
【中文标题】在视图出现之前进行 UITableView 选择【英文标题】:Make UITableView selection before view appears 【发布时间】:2010-02-18 14:05:56 【问题描述】:我正在为 UITableView 构建详细视图。详细视图包含一个有两行的 UITableView,我希望在打开详细视图时选择第一个。我试过在[viewWillAppear]
中使用[selectRowAtIndexPath:animated:scrollPosition]
的方法:
- (void) viewWillAppear:(BOOL)animated
[[self tableView] selectRowAtIndexPath:[NSIndexPath indexPathForRow:kStartDateRow inSection:kSection]
animated:NO
scrollPosition:UITableViewScrollPositionNone];
但是,选择不受此影响,并且在[viewDidAppear]
中使用它意味着一旦视图移动到位,选择就会更改。如何在详细视图出现在屏幕上之前进行选择?
您可以在“设置”应用中看到我想要的行为示例。转到常规 > 日期和时间 > 设置日期和时间。
【问题讨论】:
请显示您在 viewWillAppear 中尝试过的代码以及您遇到的错误(如果有)。 你去。代码格式有问题,我希望它是可读的。 【参考方案1】:您没有提及任何错误,但尝试在 selectRowAtIndexPath 行之前执行 [[self tableView] reloadData]。
【讨论】:
这完全有效!感谢您的回答,但我对它为什么起作用感到困惑。 在这种情况下,tableView 似乎直到 viewWillAppear 之后才开始调用 reloadData。这个:developer.apple.com/iphone/library/documentation/UserExperience/… 和这个:developer.apple.com/iphone/library/documentation/UserExperience/… 可能有助于理解。以上是关于在视图出现之前进行 UITableView 选择的主要内容,如果未能解决你的问题,请参考以下文章
选择 UITableViewCell 时 UITabBar 消失
UITableView 中的单元格在 iOS 中选择之前不会更新(swift)