2009-11-06 90 views
2

在我的應用程序中,我想將單元格追加到當前的tableview,並在單元格全部追加後滾動到第一個添加的單元格。我通過調用附加到堆棧並調用[tableview reloadData]來完成附加代碼。但是,我想知道是否有一個由uitableview發送的委託或通知,我可以使用它來指示何時表已重新加載,以便我可以滾動到所選內容。我原本以爲viewDidAppear會被調用,但事實並非如此。有什麼建議麼?在重新加載uitableview後滾動表格視圖

回答

4

您可以刪除reloadData並使用insertRowsAtIndexPaths:withRowAnimation:來代替額外的行,然後可以使用scrollToRowAtIndexPath:atScrollPosition:animated:滾動到某一行。以這種方式添加行在我看來有點「更清潔」,而不是僅僅調用reloadData,它可能也更快。

當使用insertRowsAtIndexPaths:withRowAnimation:並添加的行不可見時,它們將不會被「加載」,一旦它們使用滾動方法滾動到視圖中,它們將被「加載」。

關於reloadData方法完成後的通知,我很確定沒有可用的通知。 UITableView的唯一通知是UITableViewSelectionDidChangeNotification

相關問題