我有一个奇怪的问题。我有一个ScrollView并且ContentOffset已设置为它。
我已经通过以下代码在其委托中提出了条件。
-(void)scrollViewDidScroll:(UIScrollView *)scrollView{
if(scrollOffsetY > 90 && scrollOffsetY < 150) {
NSLog(@"ContentOffset===>%f",ContentOffset);
}
}
仅当我缓慢滚动滚动视图时,我编写的条件才会起作用并进入其中。如果我滚动得更快。它不会进入我的循环。
我该如何解决 ?并在条件为True时获取精确值?
最佳答案
UIScrollView不会为每个滚动像素调用委托。取而代之的是,它将在每次拍摄时显示它。快速滚动时,滚动视图可能会跳过您要检查的区域。如果需要赶在屏幕上显示指定区域时,可以添加一个变量来存储先前的偏移量,并添加如下条件:
if (previousScrollOffsetY > 150 && scrollOffsetY < 90) || (previousScrollOffsetY < 90 && scrollOffsetY > 150) {
NSLog(@"Skipped area")
}
previousScrollOffsetY = scrollOffsetY;
关于ios - UIScrollview中的ContentOffset问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43520159/