如何將UIRefreshControl添加到UIColloectionView的底部?這意味着當它向上滾動(查看舊數據或某物)時它是如何工作的?UIRefreshControl「上拉」刷新?
6
A
回答
4
這裏是一個CCBottomRefreshControl類UIScrollView類(UICollectionView類的父級),它實現bottomRefreshControl屬性。它與iOS 6和7本機刷新控件兼容。
-2
你不行。你根本無法真正自定義UIRefreshControl
。
9
您不能使用UIRefreshControl
來做到這一點,但如果您可以使用更簡單的解決方案,那麼您可以設置收藏視圖,以便在滾動到底部時自動加載更多數據。 (順便提一句,這是一個更爲普遍的用戶界面......拉起來刷新並不常見,但是當你觸及底部時自動檢索更多數據。)
最原始的表現是響應到UIScrollViewDelegate
方法,並確定如果你已經滾動到集合視圖的底部(這是本身的UIScrollView
的子類):
- (void)scrollViewDidScroll:(UIScrollView *)scrollView
{
if ((scrollView.contentOffset.y + scrollView.frame.size.height) >= scrollView.contentSize.height)
{
if (!self.isLoadingMoreData)
{
self.loadingMoreData = YES;
// proceed with the loading of more data
}
}
}
更妙的是,如果你有更多的數據加載,顯示底部有一個單元格,上面寫着「請稍等,載入更多數據」,或許用UIActivityIndicatorView
。例如,如果您有更多要加載的數據,請使用這個單元添加一個部分到最後。如果你正確地設置了這個額外的單元格(例如,一個單獨的單元格通過集合視圖),它肯定會呈現出你正在尋找的效果。
相關問題
- 1. UIRefreshControl上拉刷新?
- 2. UIRefreshControl刷新支持旋轉
- 3. RecyclerView上拉刷新
- 4. 拉動刷新
- 5. AngularJS:拉刷新
- 6. AngularJS - 拉刷新
- 7. 拉動上下刷新刷新動態桌面佈局android
- 8. jQuery的刷新下拉選擇刷新
- 9. 拉刷新:刷新數據延遲
- 10. 拉刷新數據
- 11. IONIC拉動刷新
- 12. 拉在Phonegap刷新
- 13. 拉來刷新SWIFT
- 14. 純JavaScript拉刷新
- 15. 保留下拉選擇上刷新
- 16. 拉刷新:屏幕上消失
- 17. 當我使用UIRefreshControl時,爲什麼我的UITableViewController不刷新?
- 18. 如何在完成從Firebase加載時刷新UIRefreshControl端點
- 19. UIRefreshControl - 如何在觸摸釋放後進行刷新操作?
- 20. UIRefreshControl在刷新Tableview控制器時崩潰
- 21. 如何重新定位UIRefreshControl
- 22. Angular2/Typescript拉到刷新
- 23. iOS 6的拉刷新
- 24. 拉起使用SwiperefreshLayout刷新
- 25. 「刷新」拉姆達對象
- 26. MPAndroidChart拉動水平刷新
- 27. 拉到桌面刷新
- 28. Ionic2拉刷新功能
- 29. 推在Android上刷新,因爲在Gmail(並不拉動像iphone一樣刷新)
- 30. NSFetchedResultsController上拉來刷新顯示更新後沒有
你有給用戶這個通知的示例代碼嗎?我滾動時加載數據結束,一切正常。現在我只需要數據加載時的通知。加載用於執行此通知的額外單元格並不那麼簡單。謝謝! – 2015-05-26 11:14:55
@ S.Birklin - 我認爲這比您懷疑的要容易。只需讓你的'numberOfRowsForSection'返回一行(假設你有額外的數據要獲取)。然後,'cellForRowAtIndexPath'可以看到它是否超出了現有數據的範圍,並顯示「加載」單元格,如果是這樣的話。請參閱https://github.com/robertmryan/UITableView-Bottom-Refresh獲取簡單的插圖。 – Rob 2015-05-26 15:59:39
這應該是被接受的答案 – 2016-01-25 23:54:44