天天看點

iOS開發UI篇—無限輪播(循環展示)

一、簡單說明

之前的程式還存在一個問題,那就是不能循環展示,因為plist檔案中隻有五個數組,是以第一個和最後一個之後就沒有了,下面介紹處理這種循環展示問題的小技巧。

iOS開發UI篇—無限輪播(循環展示)

方法一:使用一個for循環,循環200次,建立200*=1000個模型,且預設程式啟動後處在第100組的位置,向前有500個模型,向後也有500個模型,産生一種循環展示的假象。

  代碼如下:

iOS開發UI篇—無限輪播(循環展示)
iOS開發UI篇—無限輪播(循環展示)

  列印檢視所處的索引(全程依然隻建立了兩個cell):

iOS開發UI篇—無限輪播(循環展示)

說明:

  [self.collectinview scrolltoitematindexpath:<#(nsindexpath *)#> atscrollposition:<#(uicollectionviewscrollposition)#> animated:<#(bool)#>]

 //預設處于第0組的第500個模型的左邊

方法二:設定其有100組,那麼一共有100*5=500個模型。且設定預設處于第50組的索引為0處。

iOS開發UI篇—無限輪播(循環展示)
iOS開發UI篇—無限輪播(循環展示)

注意:上面的兩種方法都建立了大量的無用的模型,不太可取。且在實際開發中,建議模型的總數不要太大,因為在其内部需要周遊計算所有控件的frame。

  如果模型數量太大,會占用資源。

改進建議:可以監聽手指在上面的滾動,當停止滾動的時候,又重新設定初始的中間位置。