天天看點

iOS開發之ImageView複用實作圖檔無限輪播

  今天這篇部落格就要實作使用兩張imageview, 交替的區展示image, image是在将要顯示的時候才貼到imageview上,好廢話少說,進入今天部落格的主題。

  一、運作效果及原理分析

    1.demo的運作效果

    下圖的gif是本片部落格demo的運作效果,但從效果上來看,和上一篇部落格的運作效果是一樣的,但本質和實作原理是不同的。在本篇部落格的結尾會給出demo在github上的分享位址,首先大家可以看一下效果,是可以無限輪播的,而且可以支援手動滑動。點選每張圖檔也是會通過block回調的方式給出每張圖檔的索引的。

iOS開發之ImageView複用實作圖檔無限輪播

    2. 原理實作分析

    下圖呢是簡單畫的原理圖,以3張圖檔為例,當然使用的是兩個imageview,并給出了三張圖檔在兩張imageview以及在可視區的展示順序。把原理搞明白了敲代碼也就輕松了,在寫代碼時不要在思路不清晰的情況下就開始動鍵盤。原理的核心就是當是新的圖檔永遠是加在第二張imageview上的,下一輪的第一張圖檔,是上一輪的第二張圖檔,這樣就可以形成一個無縫滾動了。還是看下面這張原理圖吧,自己畫的,應該是可以看的。

    

iOS開發之ImageView複用實作圖檔無限輪播

  二、demo分享

    關于本篇部落格的代碼呢,就不一行一行的往部落格上粘貼了,原理明白了,實作應該不成問題的,本篇的部落格代碼會分享到github上,下方是github的分享位址,有興趣的小夥伴可以clone一下。