n.e*_*ind 4 cocoa-touch objective-c scrollview ios
我想知道scrollView是向上还是向下滚动.理想情况下,如果向上或向下滚动scrollView,我只想进行一次调用.我尝试了这个,但显然不会告诉我有关方向的任何信息:
-(void)scrollViewWillBeginDragging:(UIScrollView *)scrollView {
NSLog(@"%.2f", scrollView.contentOffset.y);
}
Run Code Online (Sandbox Code Playgroud)
contentOffset将始终为0 - 无论我是向上还是向下滚动都无关紧要.现在我可以简单地检入 - (void)scrollViewDidScroll:如果偏移量是正数或负数,但这是不断调用的.scrollViewWillBeginDragging的优点是只调用一次,这就是我需要的.是否有类似scrollViewDidBeginDragging的东西?我没有在文档中找到任何内容.任何聪明的解决方法?
Joh*_*eek 12
存储初始内容偏移量 scrollViewWillBeginDragging:
- (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView {
self.initialContentOffset = scrollView.contentOffset.y;
self.previousContentDelta = 0.f;
}
Run Code Online (Sandbox Code Playgroud)
并在每个上检查它 scrollViewDidScroll:
- (void)scrollViewDidScroll:(UIScrollView *)scrollView {
CGFloat prevDelta = self.previousContentDelta;
CGFloat delta = scrollView.contentOffset.y - self.initialContentOffset;
if (delta > 0.f && prevDelta <= 0.f) {
// started scrolling positively
} else if (delta < 0.f && prevDelta >= 0.f) {
// started scrolling negatively
}
self.previousContentDelta = delta;
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
5316 次 |
最近记录: |