【发布时间】:2011-06-17 03:57:21
【问题描述】:
也许我遗漏了一些明显的东西,但我很难以编程方式在 tableView 中设置行选择。目标是简单地打开一个 tableView 并选择一行。问题似乎是我必须等到 tableView 完全加载后才能修改选择。
我已经阅读了各种策略,例如在 viewController 的 viewWillAppear 方法中为 tableView 调用 reloadData,然后立即为目标行调用 selectRowAtIndexPath。但是当我这样做时,我得到一个范围异常,因为此时 tableView 的行数为零。 UITableViewDelegate 方法(numberOfRowsInSection 等)似乎不会立即被调用以响应 reloadData(如果表行是“懒惰”绘制的,这很有意义)。
我能够让它工作的唯一方法是在短暂延迟后调用 selectRowAtIndexPath,但是您可以查看 tableView 将所选行滚动到视图中。
当然,有更好的方法吗?
【问题讨论】:
标签: uitableview row selection