標籤:
iOS學習之路--下拉重新整理和上拉載入更多簡介
本文中筆者將和大家分享應用app中常用到的表單內容的下拉重新整理和上拉載入更多的功能實現的方法。
內容1.有哪些實現方法與各方法的優劣
使用過美團,福士點評的朋友們應該有注意到,當你向上滑動表單的時候會有更多的店鋪載入進你的表單中,而當你下滑表單頂的時候,則會重新整理表單的內容並從網路上擷取最新的資訊。通過下拉重新整理和上拉載入更多的功能,使app可以擷取更多使用者想要的資訊和擷取最新的資訊。那麼這種功能如何?呢,還請跟著筆者繼續往下看。
目前來說,主要的實現方法有以下幾種
1.UIRefreshControl :iOS的UIkit中內建的一種重新整理方法,最為基礎和原始
2.自己自訂 :可以製作個人化的重新整理工具,但較為複雜且易出現問題,不推薦新手和為趕工臨時使用一下的人。
3.AH3DPullRefresh : 簡單的下拉重新整理/載入控制項,帶有3D效果, 使用很方便,如果是ARC環境的需要設定一下
具體設定位置如
在Build Phases的Compile Sources中設定UIScrollView+AH3DPullRefresh.m的Flags為-fno-objc-arc就可以正常運行了
4.MJRefresh : 方便快捷,是個人認為最為方便並且相容性最好的重新整理載入工具
5.其他開源庫 : 網上有許多的開源庫,包括以上推薦的3和4也是,網上還有許多各式各樣的,有興趣的話可以自行到CocoaChina或者其他提供開原始碼的網站去搜尋,選擇一款適合自己情況的。
2.具體執行個體
接下來,請跟筆者來看看MJRefresh和一款筆者從CocoaChina上下載的一款很好看的名為YALSunnyRefreshControll的下拉重新整理的具體實現的過程。
首先是添加下拉重新整理,將YALSunnyRefreshControll檔案夾添加到工程中
然後再需要添加下拉重新整理的.h檔案中引入標頭檔即#import "YALSunnyRefreshControl.h",並為該類@property 一個YALSunnyRefreshControl對象。
:
然後將該YALSunnyRefreshControl初始化並與所需要實現重新整理功能的UITableView或者UICollectionView關聯起來具體代碼如下:
最後引入重新整理動畫所需要的圖片,這些圖片會和代碼一起下載下來,可以使用他的,也可以換成自己的
最後實現的成果圖如下:
當下拉表格的時候,表格上方就會有太陽升起和出現房屋的動畫出現,是不是很好看?而且內容也重新整理了,這工具真是即好用又好看.
接下來,我使用MJRefresh實現的上拉表單從網路載入更多資料並顯示到表單上的功能。
首先第一步和之前一樣,是將MJRefresh包添加到工程中,並引入到需要使用它的.m檔案中
然後,在該檔案中建立一個MJRefresh的全域變數,然後初始化並與tableView關聯起來,具體代碼如下:
My Code[self startDownload]的作用是,從網上第_offset條開始載入10條資料到本地,_offset+=10然後調用[self startDownload]就使我的應用程式載入了更多的十條資料,下載完畢後記得要調用tableView的 reloadData方法,才能將新載入的資料顯示到表單中。
當載入完畢後,還需要調用一個停止載入的方法作為結束,否則無法進行下一次載入,在你的載入資料到你的tableView 的datasource的方法最後調用如下方法
上面兩個分別是我的載入和重新整理的結束方法的調用,最好在調用之前調用tableView的 reloadData方法;
如此,就完成了載入和重新整理的功能的實現,載入的如下:
筆者表示對蘋果的還不熟練,只會用截屏...
3.結語
總之,以上就是我對下拉重新整理和上拉載入功能如何?的個人總結,如果看客覺得我有說的不對和不足地方,還請多多指教,可以通過部落格聯絡我,或是在文章下留下評論,謝謝~。
iOS學習之路--下拉重新整理和上拉載入更多