今天公司里的實(shí)習(xí)生跑過(guò)來(lái)問(wèn)我一般App上廣告的無(wú)限滾動(dòng)是怎么實(shí)現(xiàn)的,剛好很久沒(méi)寫(xiě)博客了,就決定寫(xiě)下了,盡量幫助那些處于剛學(xué)iOS的程序猿.

做一個(gè)小demo,大概實(shí)現(xiàn)效果如下圖所示:

                                      

基本實(shí)現(xiàn)思路:

1. 在你需要放置無(wú)限滾動(dòng)展示數(shù)據(jù)的地方把他的數(shù)據(jù),在原本的基礎(chǔ)上把你要展示的數(shù)據(jù)擴(kuò)大三倍.(當(dāng)然擴(kuò)大兩倍也是可以的,三倍的話,比較好演示)

   // MARK: - 設(shè)置數(shù)據(jù)源 func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int { // print(self.arrayM.count) return self.arrayM.count * 3 }

2.當(dāng)在定時(shí)器的作用下,或者在拖動(dòng)情況存下滾動(dòng)到第八個(gè)時(shí)候,設(shè)置此時(shí)的collectionView.contentOffset.x等于滾動(dòng)到第三個(gè)cell的contentOffset.x

if collectionView.contentOffset.x == CGFloat(
        		

網(wǎng)友評(píng)論