美文网首页
滑动代理scrollViewDidScroll

滑动代理scrollViewDidScroll

作者: DemoFootMan | 来源:发表于2016-05-30 19:41 被阅读0次

    //结合前面写的在NavigationItem.titleView添加视图,加入滑动代理,就可以在滑动TableView的时候,实现NavigationItem.titleView的变大缩小

    #pragma mark - 滑动代理

    - (void)scrollViewDidScroll:(UIScrollView *)scrollView

    {

    CGFloat offsetY = scrollView.contentOffset.y + _newsTableView.contentInset.top;//注意

    /**

    *  1 - offsetY/num1 = 0.45;

    0.45 为最终缩小倍率

    offsetY 为纵偏移量

    num1=300 为要计算的值

    150/165  就是滑动多少距离后,完成缩放

    */

    if (offsetY < 0 && offsetY >= -150) {

    _topImageView.transform = CGAffineTransformMakeScale(1 + offsetY/(-300), 1 + offsetY/(-300));

    //        _topImageView.layer.anchorPoint = CGPointMake(0.5, offsetY/600. + 0.5);

    //        NSLog(@"%lf - %lf", offsetY, 1 + offsetY/(-300));

    }

    else if (offsetY >= 0 && offsetY <= 165) {

    _topImageView.transform = CGAffineTransformMakeScale(1 - offsetY/300, 1 - offsetY/300);

    //        _topImageView.layer.anchorPoint = CGPointMake(0.5, 0.5 + offsetY/600.);

    }

    else if (offsetY > 165) {

    _topImageView.transform = CGAffineTransformMakeScale(0.45, 0.45);

    //        _topImageView.layer.anchorPoint = CGPointMake(0.5, 1);

    }

    else if (offsetY < -150) {

    _topImageView.transform = CGAffineTransformMakeScale(1.5, 1.5);

    //        _topImageView.layer.anchorPoint = CGPointMake(0.5, 0.5);

    }

    CGRect frame = _topImageView.frame;

    frame.origin.y = 5;

    _topImageView.frame = frame;

    }

    相关文章

      网友评论

          本文标题:滑动代理scrollViewDidScroll

          本文链接:https://www.haomeiwen.com/subject/pflcdttx.html