IOS實現(xiàn)圖片輪播無限循環(huán)效果
本文接著上篇文章進(jìn)行敘述講解,主要為大家分享了圖片輪播無限循環(huán)效果的實現(xiàn)方法,具體內(nèi)容如下
之前說到第一個問題,ScrollView移動到最后一張圖片時無法移動了,這是因為ScrollView已經(jīng)移動到最后,而圖片又是依次排列,自然也就無法移動。
解決辦法是,我們換一個思路實現(xiàn)圖片輪播效果,ScrollView上只放三個ImageView,屏幕始終顯示中間的ImageView,左邊和右邊的ImageView分別代表前一張圖片和后一張圖片,屏幕移動的時候,中間的ImageView變化,同時左右兩邊的ImageView也隨之變化,兩種邊界情況:
(1)當(dāng)屏幕顯示最后一張圖片時,右邊的ImageView也即下一站圖片應(yīng)該是最開始的第一張圖片;
(2)當(dāng)屏幕顯示最開始的第一張圖片時,左邊的ImageView也即上一張圖片應(yīng)該是最后一張圖片。
這樣三個ImageView不斷變化就造成一種圖片輪播無限循環(huán)的效果。 參考://www.dbjr.com.cn/article/81034.htm
相對于之前的效果,有一些改變,主要有:
(1)ScrollView只需要設(shè)置三個ImageView即可,并且默認(rèn)顯示中間的ImageView
(2)根據(jù)ScrollView的移動情況,迅速變化三個ImageView中圖片數(shù)據(jù)
(3)ImageView更新完畢后,偷偷把ScrollView拉回到中間的ImageView位置,這樣視覺效果上就實現(xiàn)了無限循環(huán)的效果
效果圖:
但是,這里在加入定時器后實現(xiàn)圖片輪播自動循環(huán)時遇到了問題,主要是初始化顯示第一張圖片與根據(jù)定時器設(shè)置自動移動ScrollView有一些沖突,在code4App上找到其他人一個工程,采用的思路相同,單獨(dú)封裝了ScrollView進(jìn)行處理,已經(jīng)解決該問題。
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助。
相關(guān)文章
iOS UITableView 與 UITableViewController實例詳解
這篇文章主要介紹了iOS UITableView 與 UITableViewController實例詳解的相關(guān)資料,非常不錯,具有參考借鑒價值,需要的朋友可以參考下2016-09-09IOS 開發(fā)之PickerView自定義視圖的實例詳解
這篇文章主要介紹了IOS 開發(fā)之PickerView自定義視圖的實例詳解的相關(guān)資料,這里提供實例幫助大家學(xué)習(xí)理解這部分知識,需要的朋友可以參考下2017-08-08關(guān)于iOS 11的一些新特性適配實踐總結(jié)
iOS 11 為整個生態(tài)系統(tǒng)的 UI 元素帶來了一種更加大膽、動態(tài)的新風(fēng)格。下面這篇文章主要給大家總結(jié)介紹了關(guān)于iOS 11的一些新特性適配實踐,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面來一起看看吧。2017-11-11