iOS類似淘寶下拉加載更多界面



最近做項目的時候,產(chǎn)品提出App中的物品詳情界面要做一個類似淘寶下拉加載更多的樣式!

類似于這樣~~~↓↓↓↓↓↓↓↓

成品效果展示

當時思考了下,這到底是一個界面還是兩個界面!仔細滑動了幾下淘寶的界面。發(fā)現(xiàn)這其實就是一個界面的scrollview滑動?。?/p>

整體視圖層級是這樣的——最底層是一個scrollView,這個scrollview上面是用來放第一個view的,然后在這個scrollview上面放一個scrollview,放在第一個view的下面,第二個scrollview上面放第二個view(也就是詳情頁)。大體層級關(guān)系是這樣~↓↓↓↓↓↓↓↓↓


上部分
下部分

好噠!!弄清這個層級關(guān)系我們就知道該怎么著手開始寫了??!

封裝一個類~!TheXXScrollDetailView

.h文件中聲明:

TheXXScrollDetailView.h

枚舉用來判斷是哪個view!TheXXScrollDetailView用來放需要加載的兩個頁面!

在.m文件中:


需要固定的幾個數(shù)值,方便修改

需要說明的是xib上半部分和下半部分是中間的過度提示~!↓↓↓↓↓↓


圖文提示

set方法↓↓↓↓↓↓↓↓↓↓


設(shè)置需要加載的上下兩個頁面的高

其中:

#define H_SELF self.frame.size.height

#define W_SELF self.frame.size.width

設(shè)置最小高度和兩個scrollview的contentsize。tips:在設(shè)置secondscrollview的contentsize+0.001是為了防止當scrollview的contentsize等于或小于scrollview的frame造成scrollview不能滑動的情況。

封裝的初始化方法這么寫:↓↓↓↓↓↓↓↓↓↓↓↓↓↓


UIview初始化方法

這個初始化方法中用來實例化兩個scrollview和上面截圖的過度界面。

接下來就是scrollview的代理方法了↓↓↓↓↓↓↓↓↓


scrollview的代理方法

這個交互的核心就在這個代理方法里面了。

當scrollview的偏移量大于等于需要加載的topview的高+過度畫面+一定的偏移量的時候。切換到下個詳情界面,也就是bottomview,此時記得設(shè)置第一個scrollview禁止滑動;

在第二個scrollview的時候,當偏移量小于等于過度畫面+一定的偏移量的時候切換到第一個scrollview。(注意,此時的偏移量并不是小于第一個scrollview的判斷值了,應(yīng)為現(xiàn)在在第二個scrollview上,偏移量是重新計算的)動畫完成后記得設(shè)置第一個scrollview的使能為yes!

ok,到這里這個封裝就算完成了~!當需要用到它時,只需要在控制器里實例化,然后設(shè)置兩個view就可以了~!這樣↓↓↓↓↓↓↓↓↓↓


加載方法

代碼已上傳到github。點這里

我是Logan~!我的心愿是代碼永無bug!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容