我正在尝试基于UIScrollView
委托(delegate),尤其是scrollViewDidScroll:
来实现一些东西。因此,我在委托(delegate)方法中读取了scrollView.contentOffset
,它非常有用,直到我开始更快地滚动时,然后contentOffset
才在Y坐标中最多跳了50个点:
有谁知道如何获得contentOffset
的精度更高的?
最佳答案
KVO将提供有关每项更改的消息,但您在观察中所做的工作
该方法应尽快完成,以免产生滞后现象。
开始观察:
// assuming you have a scroll view outlet property
[self.scrollView addObserver:self forKeyPath:@"contentOffset" options:NSKeyValueObservingOptionNew context:nil];
要观察变化:
- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary<NSKeyValueChangeKey,id> *)change context:(void *)context {
if (object == self.scrollView) {
NSLog(@"%f", self.scrollView.contentOffset.y);
}
}
要停止观察:
[self.scrollView removeObserver:self forKeyPath:@"contentOffset"];
关于ios - UIScrollView:对scrollViewDidScroll中的contentOffset提出更好的要求:,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32367838/