• UIScrollView监听静止的数种情况


    1.直接通过block

    -(void)testInBlock
    {
        //通过block监听
        [UIView animateWithDuration:1.0 animations:^{
            self.scrollView.contentOffset = CGPointMake(50, 20);
        } completion:^(BOOL finished) {
            NSLog(@"滚动完毕");
        }];
    }
    

    2.代理中的 scrollViewDidEndScrollingAnimation:方法
    触发条件:使用setContentOffset:animated:或者scrollRectToVisible:animated:方法让scrollView产生滚动动画

    -(void)scrollViewDidEndScrollingAnimation:(UIScrollView *)scrollView
    {
        NSLog(@"静止-[使用setContentOffset:animated:或者scrollRectToVisible:animated:方法让scrollView产生滚动动画, 最后静止]");
    }
    

    3.代理中的scrollViewDidEndDecelerating:方法
    触发条件:人为拖拽scrollView产生滚动动画(手松开以后由于惯性会继续滚动)

    -(void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView
    {
        NSLog(@"静止-[手松开以后由于惯性继续滚动, 最后静止]");
    }
    

    4.代理中的scrollViewDidEndDragging: willDecelerate:方法
    decelerate为YES : 手松开后会由于惯性继续滚动;NO : 手松开后立即静止

    -(void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate
    {
        if (decelerate) {
            NSLog(@"手松开后由于惯性继续滚动");
        } else { // 手松开后立即静止
            NSLog(@"静止-[手松开后立即静止]");
            [self afterIdle];
        }
    }
    
  • 相关阅读:
    暑假学习
    暑假学习
    暑假学习
    暑假学习
    暑假学习
    经验教训+总结
    NT 时刻
    联赛模拟测试 17
    联赛模拟测试 16
    联赛模拟测试 15
  • 原文地址:https://www.cnblogs.com/ShaRuru/p/5132027.html
Copyright © 2020-2023  润新知