在上篇部落格中iOS開發之多圖片無縫滾動元件封裝與使用給出了圖片無限輪播的實現方案之一,下面在給出另一種解決方案。今天部落格中要說的就是在ScrollView上貼兩個ImageView, 把ImageView進行交替切換來實現圖片的無限輪播,在輪播時去修改ImageView上的圖片。上一篇部落格中是有幾張圖片就例項化幾個ImageView, 然後事先把Image貼到相應的ImageView上,這種做法比較簡單,而且易於實現。
今天這篇部落格就要實現使用兩張ImageView, 交替的區展示Image, Image是在將要顯示的時候才貼到ImageView上,好廢話少說,進入今天部落格的主題。
一、執行效果及原理分析
1.Demo的執行效果
下圖的Gif是本片部落格Demo的執行效果,但從效果上來看,和上一篇部落格的執行效果是一樣的,但本質和實現原理是不同的。在本篇部落格的結尾會給出Demo在Github上的分享地址,首先大家可以看一下效果,是可以無限輪播的,而且可以支援手動滑動。點選每張圖片也是會通過Block回撥的方式給出每張圖片的索引的。
2. 原理實現分析
下圖呢是簡單畫的原理圖,以3張圖片為例,當然使用的是兩個ImageView,並給出了三張圖片在兩張ImageView以及在可視區的展示順序。把原理搞明白了敲程式碼也就輕鬆了,在寫程式碼時不要在思路不清晰的情況下就開始動鍵盤。原理的核心就是當是新的圖片永遠是加在第二張ImageView上的,下一輪的第一張圖片,是上一輪的第二張圖片,這樣就可以形成一個無縫滾動了。還是看下面這張原理圖吧,自己畫的,應該是可以看的。
二、demo分享
關於本篇部落格的程式碼呢,就不一行一行的往部落格上貼上了,原理明白了,實現應該不成問題的,本篇的部落格程式碼會分享到github上,下方是github的分享地址,有興趣的小夥伴可以Clone一下。
gitHub分享地址:https://github.com/lizelu/ZLImageScrollView
接下來的幾篇部落格會給大家分享SQLite的一些東西,更深一層的窺探一下SQLite資料庫~
打賞支援我寫出更多好文章,謝謝!
打賞作者
打賞支援我寫出更多好文章,謝謝!