有什么方法可以找出何时UITableView从其数据源中查询数据?
的无viewDidLoad/ viewWillAppear/ viewDidAppear关联的视图控制器(方法UITableViewController)是使用在这里,因为他们都火得太早。它们中的一个(完全可以理解)不能保证对数据源的查询暂时已经完成(例如,直到视图滚动为止)。
一个解决办法,我发现是调用reloadData的viewDidAppear,因为当reloadData返回时,表视图是保证完成查询数据源,它更需要的时间存在。
但是,这似乎有点令人讨厌,因为我认为这会导致在reloadData首次加载数据源时两次(自动一次,由于调用而一次)要求输入相同的信息。
我要这样做的原因是我想保留-的滚动位置,UITableView但要一直到像素级别,而不仅仅是到最近的行。
当恢复滚动位置(使用scrollRectToVisible:animated:),我需要的表视图已经有足够的数据在里面,否则scrollRectToVisible:animated:方法调用什么也不做(这是如果你把它自己的呼叫任何会发生什么viewDidLoad,viewWillAppear或viewDidAppear)。
狐的传说
ibeautiful
相关分类