鍍金池/ 問(wèn)答/C  iOS  網(wǎng)絡(luò)安全/ 關(guān)于列表分頁(yè),請(qǐng)教下iOS下拉刷新的邏輯處理?OC/Swift

關(guān)于列表分頁(yè),請(qǐng)教下iOS下拉刷新的邏輯處理?OC/Swift

MJRefresh 庫(kù)用于上拉下拉來(lái)刷新。
創(chuàng)建于3年前。OC 寫(xiě)的,目前還在維護(hù)中。
個(gè)人感覺(jué),有些過(guò)氣了。
不知道對(duì)不對(duì)?
請(qǐng)教下,大家有沒(méi)有推薦做下拉刷新這部分邏輯的三方庫(kù) OC/Swift。
公司還在集體用OC, 用MJ。
問(wèn)身邊的高手朋友,他們就說(shuō)Alamofire+Refresh,還可以蘋(píng)果自帶ActivityIndicator/UIRefreshControl.
我看了京東的、和微信的。
圖片描述
圖片描述

感覺(jué)他們網(wǎng)絡(luò)優(yōu)化特別好,加載賊快賊快的。
感覺(jué)現(xiàn)在網(wǎng)絡(luò)條件好。下拉刷新的功能?chē)?yán)重弱化了,基本沒(méi)用。
關(guān)鍵的做法是 提高網(wǎng)絡(luò)響應(yīng)、數(shù)據(jù)請(qǐng)求速度。
問(wèn)題是,做列表分頁(yè),在哪里請(qǐng)求數(shù)據(jù)呢。
我看京東的、和微信的。非常流暢,感覺(jué)用了Texture.
具體望解答。
分頁(yè)請(qǐng)求觸發(fā)機(jī)制,希望得到回答。
什么時(shí)候請(qǐng)求下一頁(yè),現(xiàn)在感覺(jué)MJRefresh是用戶拖動(dòng)列表到底部了,才開(kāi)始請(qǐng)求。(微信/京東,明顯不是)
什么時(shí)候放UI(指示用戶)?

回答
編輯回答
孤星

其實(shí)MJ的這個(gè)也有你說(shuō)的那種功能,文檔里面應(yīng)該有說(shuō)明。原理可以參見(jiàn)我的這篇博文,之前看mj的視頻寫(xiě)的。和樓上的大同小異,只是判斷的是距離。http://blog.csdn.net/leleyuan...
scrollView.contentInset包含如下屬性:CGFloat top, left, bottom, right;
在scrollView中,top是上面額外的高度,bottom是下面額外的高度,中間包含的是contentView的contentSize。
scrollView的contentOffSet計(jì)算的是頂部偏移量的距離,當(dāng)向上滾動(dòng)時(shí),contentOffSet.y將隨著視圖內(nèi)容而增大。比較contentSize.height和offset.y的值,就可以實(shí)現(xiàn)這個(gè)自動(dòng)加載下一頁(yè)的功能。

2017年1月15日 08:56
編輯回答
貓館

我是在下拉開(kāi)始時(shí)開(kāi)始請(qǐng)求 ,停止加載數(shù)據(jù)

2017年9月24日 09:48
編輯回答
玄鳥(niǎo)

比如列表顯示20行數(shù)據(jù), 可以在用戶顯示18條數(shù)據(jù)的時(shí)候, 開(kāi)始請(qǐng)求網(wǎng)絡(luò)數(shù)據(jù). 當(dāng)用戶拖到到底部時(shí), 顯示加載數(shù)據(jù)動(dòng)畫(huà), 同時(shí)檢測(cè)數(shù)據(jù)是否有請(qǐng)求成功, 如果成功則取消動(dòng)畫(huà), 加載數(shù)據(jù); 失敗則等待請(qǐng)求.

2017年1月20日 02:16
編輯回答
挽歌

贊同樓上的建議。不過(guò)我想提醒你,大廠加載快事因?yàn)樗麄冇绣X(qián),圖片這些資源全是 CDN 分發(fā),與你使用什么控件沒(méi)有關(guān)系。

2018年6月27日 12:02