国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計 > 正文

iOS學(xué)習(xí)之路--下拉刷新和上拉加載更多

2019-11-14 19:19:41
字體:
供稿:網(wǎng)友

iOS學(xué)習(xí)之路--下拉刷新和上拉加載更多

簡介

        本文中筆者將和大家分享應(yīng)用app中常用到的表單內(nèi)容的下拉刷新和上拉加載更多的功能實現(xiàn)的方法。

內(nèi)容

1.有哪些實現(xiàn)方法與各方法的優(yōu)劣

         使用過美團,大眾點評的朋友們應(yīng)該有注意到,當(dāng)你向上滑動表單的時候會有更多的店鋪加載進你的表單中,而當(dāng)你下滑表單頂?shù)臅r候,則會刷新表單的內(nèi)容并從網(wǎng)絡(luò)上獲取最新的信息。通過下拉刷新和上拉加載更多的功能,使app可以獲取更多用戶想要的信息和獲取最新的信息。那么這種功能如何實現(xiàn)呢,還請跟著筆者繼續(xù)往下看。

         目前來說,主要的實現(xiàn)方法有以下幾種

1.UIRefreshControl :iOS的UIkit中自帶的一種刷新方法,最為基礎(chǔ)和原始

2.自己自定義 :可以制作個性化的刷新工具,但較為復(fù)雜且易出現(xiàn)問題,不推薦新手和為趕工臨時使用一下的人。

3.AH3DPullRefresh : 簡單的下拉刷新/加載控件,帶有3D效果, 使用很方便,如果是ARC環(huán)境的需要設(shè)置一下

具體設(shè)置位置如下圖

在Build Phases的Compile Sources中設(shè)置UIScrollView+AH3DPullRefresh.m的Flags為-fno-objc-arc就可以正常運行了

4.MJRefresh :  方便快捷,是個人認(rèn)為最為方便并且兼容性最好的刷新加載工具

5.其他開源庫 :  網(wǎng)上有許多的開源庫,包括以上推薦的3和4也是,網(wǎng)上還有許多各式各樣的,有興趣的話可以自行到CocoaChina或者其他提供開源代碼的網(wǎng)站去搜索,選擇一款適合自己情況的。

2.具體實例

          接下來,請跟筆者來看看MJRefresh和一款筆者從CocoaChina上下載的一款很好看的名為YALSunnyRefreshControll的下拉刷新的具體實現(xiàn)的過程。

                      首先是添加下拉刷新,將YALSunnyRefreshControll文件夾添加到工程中 

                      然后再需要添加下拉刷新的.h文件中引入頭文件即#import "YALSunnyRefreshControl.h",并為該類@PRoperty 一個YALSunnyRefreshControl對象。

                      如圖:

                       然后將該YALSunnyRefreshControl初始化并與所需要實現(xiàn)刷新功能的UITableView或者UICollectionView關(guān)聯(lián)起來具體代碼如下:

                      

                       最后引入刷新動畫所需要的圖片,這些圖片會和代碼一起下載下來,可以使用他的,也可以換成自己的

                        最后實現(xiàn)的成果圖如下:

                      

                     當(dāng)下拉表格的時候,表格上方就會有太陽升起和出現(xiàn)房屋的動畫出現(xiàn),是不是很好看?而且內(nèi)容也刷新了,這工具真是即好用又好看.

                   接下來,我使用MJRefresh實現(xiàn)的上拉表單從網(wǎng)絡(luò)加載更多數(shù)據(jù)并顯示到表單上的功能。

                   首先第一步和之前一樣,是將MJRefresh包添加到工程中,并引入到需要使用它的.m文件中

                   然后,在該文件中新建一個MJRefresh的全局變量,然后初始化并與tableView關(guān)聯(lián)起來,具體代碼如下:

                 

                  我的代碼[self startDownload]的作用是,從網(wǎng)上第_offset條開始加載10條數(shù)據(jù)到本地,_offset+=10然后調(diào)用[self startDownload]就使我的應(yīng)用加載了更多的十條數(shù)據(jù),下載完畢后記得要調(diào)用tableView的 reloadData方法,才能將新加載的數(shù)據(jù)顯示到表單中。

                   當(dāng)加載完畢后,還需要調(diào)用一個停止加載的方法作為結(jié)束,否則無法進行下一次加載,在你的加載數(shù)據(jù)到你的tableView 的datasource的方法最后調(diào)用如下方法

                     

                   上面兩個分別是我的加載和刷新的結(jié)束方法的調(diào)用,最好在調(diào)用之前調(diào)用tableView的 reloadData方法;

                   如此,就完成了加載和刷新的功能的實現(xiàn),加載的效果圖如下:

            

                              筆者表示對蘋果的截圖還不熟練,只會用截屏...

3.結(jié)語

                總之,以上就是我對下拉刷新和上拉加載功能如何實現(xiàn)的個人總結(jié),如果看客覺得我有說的不對和不足地方,還請多多指教,可以通過博客聯(lián)系我,或是在文章下留下評論,謝謝~。


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 勃利县| 襄垣县| 清流县| 五台县| 郑州市| 西峡县| 类乌齐县| 长岭县| 闽清县| 乐昌市| 定结县| 紫阳县| 鸡西市| 池州市| 枝江市| 东台市| 昌图县| 华池县| 韩城市| 抚州市| 墨竹工卡县| 日土县| 巴南区| 夹江县| 宣城市| 闸北区| 鄢陵县| 贞丰县| 浪卡子县| 大埔区| 裕民县| 银川市| 托里县| 东台市| 洛隆县| 茂名市| 呼图壁县| 吴江市| 赤城县| 昌图县| 宜良县|