新篇傳送:React-Native實(shí)現(xiàn)頭部滑動(dòng),TabBar吸附的TabView
一個(gè)很常見的UI,不過在RN上好像沒有成熟的解決方案,只好自己動(dòng)手實(shí)現(xiàn)。
嘗試了很多方案,動(dòng)畫、手勢(shì)...都有瑕疵,在這里只介紹我認(rèn)為可用性最高的解決方案。
思路是這樣的:scrollview嵌套scrolltabview,通過控制scrollEnabled,來切換滾動(dòng)權(quán)限,實(shí)現(xiàn)視差效果。
第一步:基本結(jié)構(gòu)、變量


第二步:監(jiān)聽scroll事件,記錄scrolltabview的contentOffsetY以及控制scroll權(quán)限

第三部(關(guān)鍵):切換tab頁,調(diào)整scrollview的contentOffset
防止切換tab,scroll事件不觸發(fā),控制當(dāng)前scrollRef移動(dòng)內(nèi)容。

大功告成,其實(shí)就這么幾部,一開始就想到了這個(gè)實(shí)現(xiàn)方案,只是遺漏了第二步關(guān)鍵點(diǎn),所以多走了很多彎路。

流暢性馬馬虎虎,不過勉強(qiáng)能用。。。