天天看點

iOS開發UI篇—在UItableview中實作加載更多功能

一、實作效果

iOS開發UI篇—在UItableview中實作加載更多功能

點選加載更多按鈕,出現一個加載圖示,三秒鐘後添加兩條新的資料。

iOS開發UI篇—在UItableview中實作加載更多功能
iOS開發UI篇—在UItableview中實作加載更多功能

二、實作代碼和說明

當在頁面(視圖部分)點選加載更多按鈕的時候,首頁面(主要制器)會加載兩條資料進來。

視圖部分的按鈕被點選的時候,要讓主要制器加載資料,重新整理表格,2b青年會在視圖中增加一個主要制器的屬性,通過這個屬性去調用進行加載,但在開發中通常通過代理模式來完成這個操作。

下面分别是兩種實作的代碼。

1、項目結構和說明

iOS開發UI篇—在UItableview中實作加載更多功能

說明:加載更多永遠都放在這個tableview的最下端,是以這裡設定成了這個tableview的tablefooterview。

self.tableview.tablefooterview=footerview;

在實作上通過xib來進行處理,考慮到左右的留白,以及點選後的要切換到加載按鈕和文字,要同時控制圖示和文字,是以把加載圖示和文字提示放在了一個view中以便控制,這個xib已經和yyfooterview.xib進行了關聯,通過這個類來控制xib。

2、實作代碼

(1).垃圾代碼

資料模型部分

yytg.h檔案

iOS開發UI篇—在UItableview中實作加載更多功能
iOS開發UI篇—在UItableview中實作加載更多功能

yytg.m檔案

iOS開發UI篇—在UItableview中實作加載更多功能
iOS開發UI篇—在UItableview中實作加載更多功能

注意:對于資料轉模型部分的構造方法接口和實作代碼已經通過自定義帶參數的宏來進行了封裝。

封裝代碼如下:

iOS開發UI篇—在UItableview中實作加載更多功能
iOS開發UI篇—在UItableview中實作加載更多功能

視圖部分

yytgcell.h檔案

iOS開發UI篇—在UItableview中實作加載更多功能
iOS開發UI篇—在UItableview中實作加載更多功能

yytgcell.m檔案

iOS開發UI篇—在UItableview中實作加載更多功能
iOS開發UI篇—在UItableview中實作加載更多功能

yyfooterview.h檔案

iOS開發UI篇—在UItableview中實作加載更多功能
iOS開發UI篇—在UItableview中實作加載更多功能

yyfooterview.m檔案

iOS開發UI篇—在UItableview中實作加載更多功能
iOS開發UI篇—在UItableview中實作加載更多功能

主要制器

yyviewcontroller.h檔案

iOS開發UI篇—在UItableview中實作加載更多功能
iOS開發UI篇—在UItableview中實作加載更多功能

yyviewcontroller.m檔案

iOS開發UI篇—在UItableview中實作加載更多功能
iOS開發UI篇—在UItableview中實作加載更多功能

2.通過代理完成

當按鈕被點選的時候,視圖部分本身不幹活,而是通知它的代理(控制器)完成接下來的操作。

該部分代碼在1的基礎上對下面幾個檔案進行了修改:

視圖部分:

iOS開發UI篇—在UItableview中實作加載更多功能
iOS開發UI篇—在UItableview中實作加載更多功能
iOS開發UI篇—在UItableview中實作加載更多功能
iOS開發UI篇—在UItableview中實作加載更多功能

主要制器部分

iOS開發UI篇—在UItableview中實作加載更多功能
iOS開發UI篇—在UItableview中實作加載更多功能
iOS開發UI篇—在UItableview中實作加載更多功能
iOS開發UI篇—在UItableview中實作加載更多功能

繼續閱讀