scroll的frame如下:
UIScrollView *formScr = [[UIScrollView alloc]initWithFrame:CGRectMake(80*PROPORTION, _whiteBg.bottom+90, 70*PROPORTION*3, 40*3)];
PROPORTION = 當(dāng)前屏幕的寬度/375(6,6s的寬度)
滾動結(jié)束時充岛,根據(jù)偏移量來計算頁數(shù)
- (void)scrollViewDidScroll:(UIScrollView *)scrollView{
CGPoint offset = scrollView.contentOffset;
curIndex = offset.x/scrollView.width;
NSLog(@"%f===%d",offset.x,curIndex);//打印x偏移量
[self reloadform:YES];//刷新表格方法
}
結(jié)果:6恩溅,6s正常聯(lián)動,5上時正常
時不正常,正常時偏移量為180坎背,不正常時是179點幾替劈。
原因,PROPORTION系數(shù)除不盡。
在5得滤,5s上陨献,320/375 結(jié)果是無限循環(huán)小數(shù),每次計算會有誤差懂更。
6p,6sp上眨业,414/375= 1.104,3位小數(shù)沮协,預(yù)計不會有這個問題
解決方法:
#pragma mark - UIScrollViewDelegate
- (void)scrollViewDidScroll:(UIScrollView *)scrollView{
CGPoint offset = scrollView.contentOffset;
curIndex = (offset.x+1)/scrollView.width;//偏移量加1
NSLog(@"%f===%d",offset.x,curIndex);
[self reloadform:YES];//刷新表格方法
}
把x的偏移量加1龄捡,再去計算頁數(shù),聯(lián)動就正常了
當(dāng)然慷暂,最好的是在以后設(shè)置scroll的size時聘殖,各種不同機型上都設(shè)置為固定值,可以完全避免此類問題