也許我錯過了一些明顯的東西,但我很難以編程方式在tableView中設置行選擇。目標是簡單地打開一個tableView,並選擇一行。問題似乎是我必須等到tableView完全加載後才能修改選擇。UITableView初始行選擇
我已經閱讀了各種策略,例如在viewController的viewWillAppear方法中調用tableView的reloadData,然後立即調用selectRowAtIndexPath作爲目標行。但是當我這樣做時,我得到一個範圍異常,因爲tableView在那一點上有零行。 UITableViewDelegate方法(numberOfRowsInSection等)似乎不會立即響應reloadData調用(如果表格行是「延遲繪製」的話,這是有意義的)。
我一直能夠得到這個工作的唯一方法是在短暫的延遲後調用selectRowAtIndexPath,但是您可以參見 tableView將選定的行滾動到視圖中。
當然,這樣做有更好的方法嗎?
我認爲(隱藏tableView直到完全配置),但是你必須弄清楚tableView是否完成加載(即何時取消隱藏)。似乎應該有一個更簡單的方法。要查看我想要實現的示例,請查看iPad上的Mail應用程序。當您以縱向方式單擊文件夾按鈕時,會彈出一個彈出式窗口,並在tableView中突出顯示選定的消息行。 – Roberto 2011-06-16 20:23:42
作爲「隱藏然後顯示」策略的後續:它排序*作品,但在表格視圖突然出現之前您會看到背景的「閃光」 - 不理想。 – Roberto 2011-06-16 22:58:48