2016-02-11 24 views
0

在iOS上,當你在UITableView的數據源的開頭附加一些東西時,單元格會「動畫進來」,並且只有當用戶已經滾動到頂部時,纔會將剩下的單元格向下推。當用戶向下滾動到列表的下方,一個新項目被追加到頂部時,iOS不會自動移動單元格。如何確定用戶是否滾動過第一個單元格?

當一個新的細胞從頂部進來時,我如何確定兩者之間的關係?

我的用例是,當用戶向下滾動過iOS點時,我可以顯示一個「上面的新項目」按鈕供用戶點擊。 (類似於Twitter)

我對單元使用動態高度,所以按像素硬編碼scrollView並不是最理想的方法。我想利用iOS的方式來確定它。

+0

或者你總是可以使用'scrollToRowAtIndexPath:atScrollPosition:animated:'將新行滾動到視圖中。 – rmaddy

回答

0

有一個數組可用,所有可見單元的索引路徑稱爲indexPathsForVisibleRows。您可以訪問該屬性並檢查您的第一行是否是其中之一,然後從那裏開始。您還可以訪問visibleCells屬性以獲取實際的UITableViewCells本身。

0

如何確定用戶是否滾動過第一個單元格:UITableView是UIScrollView的子類,因此您只需查看contentOffset屬性即可。

我不完全確定這足以完成你想要的東西。您也可以利用tableView的cellForRowAtIndexPath:方法只在可見時返回一個單元格,並請求第一個單元格。我從來沒有嘗試過這樣做,所以可能會有更好的方法。

相關問題