UIScrollViewDelegate

2018-12-28  本文已影响0人  孙凯iOS

UIScrollViewDelegate

// !!!: 偏移量变化
- (void)scrollViewDidScroll:(UIScrollView *)scrollView {
    // any offset changes任何偏移量的变化
    NSLog(@"scrollViewDidScroll-%@",NSStringFromCGPoint(scrollView.contentOffset));
}
// !!!: 开始拖动
- (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView {
    // called on start of dragging (may require some time and or distance to move)开始拖拽(可能需要一些时间和距离移动)
    NSLog(@"scrollViewWillBeginDragging");
}
// !!!: 将要停止拖动  targetContentOffset滚动视图静止的位置
- (void)scrollViewWillEndDragging:(UIScrollView *)scrollView withVelocity:(CGPoint)velocity targetContentOffset:(inout CGPoint *)targetContentOffset NS_AVAILABLE_IOS(5_0) {
    // called on finger up if the user dragged. velocity is in points/millisecond. targetContentOffset may be changed to adjust where the scroll view comes to rest如果用户拖动,则调用手指。速度是点/毫秒。可以更改目标ContentOffset以调整滚动视图静止的位置。
//    *targetContentOffset = CGPointMake(0, 355);
    NSLog(@"scrollViewWillEndDragging-%@-%@",@(velocity),NSStringFromCGPoint(*targetContentOffset));
}
// !!!: 已停止拖动   decelerate为NO,则已停止
- (void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate {
    // called on finger up if the user dragged. decelerate is true if it will continue moving afterwards如果用户拖动,则在手指上调用。减速如果以后继续运动是yes
    NSLog(@"scrollViewDidEndDragging-%@",@(decelerate));
}
// !!!: 开始减速-停止拖动后调用(如果还在滑动) decelerate为NO不会调用
- (void)scrollViewWillBeginDecelerating:(UIScrollView *)scrollView {
    // called on finger up as we are moving在我们行动时呼唤手指
    NSLog(@"scrollViewWillBeginDecelerating");
}
// !!!: 减速停止  decelerate为NO不会调用
- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView {
    // called when scroll view grinds to a halt当滚动视图停止时调用
    NSLog(@"scrollViewDidEndDecelerating");
}

// !!!: setContentOffset/scrollRectVisible:animated: finishes时调用,动画时间302毫秒
- (void)scrollViewDidEndScrollingAnimation:(UIScrollView *)scrollView {
    // called when setContentOffset/scrollRectVisible:animated: finishes. not called if not animating 当setContentOffset/scrollRectVisible:animated: finishes时调用。 如果没有动画,就不会被调用
    NSLog(@"scrollViewDidEndScrollingAnimation");
}
上一篇下一篇

猜你喜欢

热点阅读