2010-11-17 42 views
0

你怎麼知道你使用UITableViewIndex滾動?
我有一些基本的信息顯示在我的單元格上,當我跳/滾動時,我需要通過請求項目的組(頁面)來檢索有關thoses單元格的信息。我需要一種方法來知道我已經停止了滾動(我使用了scrollViewDidEndDecelerating),但是使用UITableViewIndex我們只需跳到另一個索引或滾動它們即可。使用UITableViewIndex檢測跳轉

回答

0

您得到的唯一反饋是UITAbleViewDelegate協議 - 這些都沒有報告表視圖已滾動。

但是,您將撥打電話給tableView:cellForRowAtIndexPath:調用您的數據源 - 這會告訴您表視圖已移動到足夠需要新的單元格。

此外,您有UITableView本身的visibleCells屬性,以查看您在表格中的位置?

如果您在問題中提供更多細節,您可能會有所幫助 - 爲什麼您需要知道滾動發生了?

0

UITableView繼承自UIScrollView,因此您還可以實現UIScrollViewDelegate方法,如scrollViewDidScroll。當表格視圖滾動時,這些將被調用。

但是,如果你解釋了爲什麼你需要知道表視圖是否滾動,那麼可能會有更好的答案。

編輯:
從你更新的問題,它仍然不是完全清楚是否需要滾動視圖的委託方法。

如果您只是需要更新單元格的內容,請將它放在cellForRowAtIndexPath中,當單元格進入視圖時,表格視圖會自動調用它。

如果您需要更新表視圖以外的內容,您可能仍然可以在cellForRowAtIndexPath中執行此操作,或者您可以處理scrollViewDidEndDecelerating:然後使用表視圖的visibleCells或indexPathsForVisibleRows方法來獲取當前可見的單元格列表。

+0

你說「UITableViewIndex」,所以我認爲你的意思是你有一個索引表視圖(右邊的A-Z索引),並且你想知道用戶何時觸及它。如果您正確實現了cellForRowAtIndexPath,則無論用戶如何進入該部分,數據都應該正常顯示。 – Anna 2010-11-17 15:59:32

+0

但我有一些「假」的信息,直到它通過遠程調用進行更新,在一次調用中爲一批文章完成 – CiNN 2010-11-17 17:35:37

+0

您可以使用一些BOOL標誌指示信息是否爲假/真實。在cellForRowAtIndexPath中,假如其他人顯示真實信息,則顯示「加載...」。當遠程調用完成後,它應該更新表視圖的數據源並將該標誌設置爲「真實」,然後調用將重新自動調用cellForRowAtIndexPath的[tableView reloadData]。如果您不想/不需要重新加載整個表,您也可以調用reloadRowsAtIndexPaths或reloadSections。 – Anna 2010-11-17 17:44:57