iPhone - 滚动UITableView到指定索引

3

当我的UITableView已经填充了数据之后,我想要滚动到特定的索引位置。我认为以下是实现方法:

[[self tableView] scrollToRowAtIndexPath:[NSIndexPath indexPathWithIndex:3] atScrollPosition:UITableViewScrollPositionMiddle animated:NO];

问题在于我应该如何运行它。你怎样知道表格何时已完成加载数据?

1个回答

4
首先,在表视图中使用indexPathForRow:inSection:来处理索引路径。
如果您想在表格视图加载后执行某些操作,请使用视图控制器的viewDidAppear:方法。如果这个时间太早了,可以使用performSelector:withObject:afterDelay:来排队一个选择器。

我之前尝试过viewDidLoad,但那时候太早了。我将尝试viewDidAppear。我宁愿不使用计时器,因为那很hackish。是否真的没有事件或其他东西会在所有项目从数据源中获取后被分派? - quano
并不是全部都会被获取 - 据我所知,数据源/代理将查询所有项的高度,然后仅为可见行检索单元格,以节省内存和处理器资源。还有一种方法 - 如果您使用reloadData,则可以确保在方法调用返回后,已执行所有更新,包括绘制单元格等。也许这可以帮助你。 - Adam Woś

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接