如何在UITableView中初始选择一行

时间:2009-12-04 09:07:51

标签: uitableview select

我无法找到一个好地点,selectRowAtIndexPath:animated:scrollPosition:最初UITableView中选择一行。初始化表视图控制器时尚未加载表数据,因此在初始化UITableViewController后我无法立即进行选择(否则会发生超限异常)。

3 个答案:

答案 0 :(得分:6)

每次出现视图时,您都需要使用viewWillAppear:来设置视图的状态,即使该视图之前已经显示过。 UITabViewController或UINavigationViewController中的任何不可见视图都可以随时卸载,因此您不能依靠非可见视图来保持其状态。

或者,为了更好地控制,请实施loadViewviewDidLoadviewDidUnload

如果要维护自己的视图控制器层次结构,则必须手动将viewWillAppear,viewWillDisappear等消息转发给子视图控制器。

答案 1 :(得分:3)

尝试并重载viewWillAppear:animatedviewDidAppear:animated,确保也调用超级。

确保同时拨打selectRowAtIndexPath:indexPath animated:NO,它会选择没有时间延迟。

答案 2 :(得分:2)

你可以设置在uitableview的cellforrowatindexpath方法中选择的任何单元格。使用cell.selected = YES;