iOS ScrollView 計算頁數跳轉

CGFloat pageWidth = self.scrollView.frame.size.width;
int page = floor((self.scrollView.contentOffset.x - pageWidth / 2) / pageWidth) + 1;

self.scrollView.contentOffset.x/pageWidth

舉個例子吧
一頁的width爲320
用方法1的結果
情況1:
contentoffset小於320+160,即在第二頁的左半部分,(self.scrollView.contentOffset.x - pageWidth / 2) / pageWidth的結果是0.xxxx,floor結果爲0,計算結果爲1,即會回到第一頁
情況2:
contentoffset大於320+160,即在第二頁的右半部分,(self.scrollView.contentOffset.x - pageWidth / 2) / pageWidth的結果是1.xxxx,floor結果爲1,page計算結果爲2,即會進入第二頁 

用方法2的結果
self.scrollView.contentOffset.x/pageWidth計算結果都爲1.xxx
而page是int類型,系統根據四捨五入自動強制轉型


發佈了25 篇原創文章 · 獲贊 4 · 訪問量 6萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章