iOS 循環輪播框架思路
阿新 • • 發佈:2017-06-20
自然 caption name -o 完整 auto scroll 初始 一次
scroll.gif
使用3個imageview實現無線輪播的大致原理
- 將3個imageview添加到scrollview上面,scrollview的
contensize
是3個imageview的寬度
,設置scrollview一開始初始的偏移量為一個imageview寬度
,因為裏面有3個UIImageView,所以scrollview默認顯示的就是中間的那個imageview,並且關鍵就是讓屏幕顯示的始終就是中間的這個imagview - 使用3個
imageview
來回更換圖片,並在每一次更換圖片後立即再設置scrollview偏移量還為一個imagview的寬度,也就是讓scrollview滾動後再滾回原來默認的位置,這樣就可以達到始終顯示中間那個imageview的效果 - 看到過其他博客裏面有這樣描述過這個原理
ps:例如要使用三個UIImageView循環顯示5張圖片 1)由於中間的imageview是顯示在屏幕上的,它需要在啟動時默認顯示第1張圖片,那麽左邊的imagview 自然就需要顯示最後一張圖片,右邊的imagview自然要顯示第二張圖片了.所以一開始肯定默認放圖片5、 圖片1、圖片2,當前顯示中間的UIImageView,也就是圖片1 2)如果用戶手指向左滑動,那麽就會顯示圖片2,當圖片2顯示完整後迅速重新設置左中右三個UIImageView 的內容為圖片1、圖片2、圖片3,然後馬上設置contentOffset再次為一開始默認的一個imageview寬度, 讓它滾回默認一開始的位置,以此來達到一直顯示的是中間的UIImageView的效果,此刻中間那個imagview 顯示的也就是圖片2 3)繼續向左滑動看到圖片3,當圖片3滾動完成迅速重新設置3個UIImageView的內容為圖片2、圖片3、圖片 4,然後通過設置contentOffset依然顯示中間的那個UIImageView,此刻也就是圖片3 5)當然,向右滑動原理完全一樣,如此操作就給用戶一種循環的錯覺,而且圖片多的話不占用過多內存
- 為此我做了一個動態圖,以此來動態描述下這個原理
scroll.gif
iOS 循環輪播框架思路