ios 根據scrollview滑動的偏移計算滑動到第幾頁算法(不同需求不同計算)


 

第一種:

CGFloat pageWidth = self.scrollView.frame.size.width;

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

舉個例子吧
一頁的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,即會進入第二頁


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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM