我有以下VC層次結構:ParentViewController - >導航控制器(子VC) - > ViewController(與UITableView)。UITableView重新加載數據,當推新viewController
我遇到以下問題: 在UITableViewDelegate.didSelectRowAtIndexPath中,應用程序正在堆棧上推送新的ViewController。問題是,在這個階段,表視圖會自動重新加載,而不會顯式調用reloadData。這個事實產生了幾個問題,例如返回到屏幕(使用「後退」按鈕)時,表視圖在開始處滾動而不是集中在所選行上。
你能幫我找到爲什麼它這樣做,它是一個錯誤,或如何解決這個問題?
更新:我剛纔測試了相同的情況下,在iOS 7.1並沒有像沒什麼事,我的意思是推着的viewController,比坡平回包含的UITableView中的viewController沒有選定行的鬆動焦點。
如果使用的UITableViewController然後設置,clearselectiononviewwillappear爲NO。否則,您可能必須跟蹤所選行,並在viewWillAppear觸發器的時候,將其設置爲選中狀態並將其滾動到可見點。 – Sandeep 2014-11-08 11:48:02
這不是一個UITableViewController。對於另一種情況,應用程序的體系結構,不能讓我在viewWillAppear中執行。我也試過viewDidAppear,但在視覺上它不好。 – 2014-11-08 12:06:18
你只是推/視圖控制器?任何自定義的繼續或過渡?該堆棧跟蹤似乎表明電視正在改變窗口,並因此調整大小,從而觸發重新加載。 – pbasdf 2014-11-08 12:16:39