SDCycleScrollView基礎(chǔ)上的pageControl 擴(kuò)展和續(xù)寫(xiě)

效果圖

圖片

感謝

感謝室友宋行同學(xué)提供的思路,本來(lái)是想著用繪制的方法的,因?yàn)橄氲教砑訄D片的方式太過(guò)于耗費(fèi)性能,但是當(dāng)前基于項(xiàng)目時(shí)間比較緊,所以采用了室友實(shí)踐過(guò)的方案.
后續(xù)空閑時(shí)間里,會(huì)再用繪制的方式重新寫(xiě)一遍.

思路

就是兩張圖片,UIView動(dòng)畫(huà)改變圖片的大小.
需要注意的的地方就是,閱讀源碼找到改動(dòng)的位置 和 處理臨界值的情況.
附上一張我的草稿圖,圖中是按照五張滾動(dòng)圖片的情況畫(huà)的. i 代表


圖片
  • index: 代表當(dāng)前展示的是哪一張
  • i: 代表當(dāng)前index 情況下,輪播圖中所有pageControl的位置x 值
    你可以使用代碼比較工具,查看一下我改動(dòng)了哪些代碼. 主要是TAPageControl.m, SDCycleScrollView.m, ViewController.m三個(gè)文件中.

另外,輪播器的pageCpntrol樣式一定要設(shè)置成:

cycleScrollView2.pageControlStyle = SDCycleScrollViewPageContolStyleAnimated;

關(guān)于計(jì)算pageControl

關(guān)于計(jì)算pageControl的 x 坐標(biāo)值,我們可以分為兩部分, 一步是12+5(長(zhǎng)圖片的寬度+間距)何時(shí)出現(xiàn), 還有就是5+5(短圖寬度+間距).

為了更便于直觀理解,我沒(méi)有把這兩個(gè)魔法數(shù)字替換成self.dotSize.width, self.currentDotSize.widthself.spacingBetweenDots. 大家后期封裝可以自行替換.
代碼地址

交流

希望能和大家交流技術(shù)

我的博客地址

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

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

  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 178,939評(píng)論 25 709
  • 前言 這個(gè)教程你將學(xué)會(huì)如何使用Android Studio2.0開(kāi)發(fā)Android應(yīng)用,從安裝到開(kāi)發(fā)Hello W...
    圓靜居士閱讀 682評(píng)論 0 0
  • 【原文】子曰:“非其鬼而祭之,諂也;見(jiàn)義不為,無(wú)勇也?!?【譯文】孔子說(shuō):“不是自己祖先的神靈,卻去祭司,這是獻(xiàn)媚...
    轉(zhuǎn)念館閱讀 2,350評(píng)論 0 2
  • 倪萍談退出春晚舞臺(tái):可以自己走絕不讓別人扶 倪萍、春晚、餃子和紅包,曾經(jīng)是中國(guó)人過(guò)春節(jié)的“四大件”,沒(méi)有那一聲動(dòng)情...
    gdlyz閱讀 382評(píng)論 0 0
  • 1、text-align: center的作用是什么,作用在什么元素上?能讓什么元素水平居中 水平居中的作用。 用...
    饑人谷_關(guān)飛閱讀 300評(píng)論 0 0

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