我如何制作链接到 uiscrollview contentoffest 的 uiimageView 缩放动画?

How i can do an uiimageView zoom animation linked to uiscrollview contentoffest?

我正在尝试实现根据滚动视图偏移相应地缩放图像视图的动画(我在 spotify 和其他一些应用程序中看到过类似的东西)。我该怎么办?我试过类似的东西:

- (void)scrollViewDidScroll:(UIScrollView *)scrollView
{
  if (Scroll.contentOffset.y<-10 && Scroll.contentOffset.y>-20) {

        [UIView animateWithDuration:0.1
                              delay:0
                            options:UIViewAnimationOptionBeginFromCurrentState
                         animations:(void (^)(void)) ^{
                             ImageView.transform=CGAffineTransformMakeScale(1.1, 1.1);
                         }
                         completion:^(BOOL finished){


                         }];

    }
if (Scroll.contentOffset.y<-20 && Scroll.contentOffset.y>-30) {

        [UIView animateWithDuration:0.1
                              delay:0
                            options:UIViewAnimationOptionBeginFromCurrentState
                         animations:(void (^)(void)) ^{
                             ImageView.transform=CGAffineTransformMakeScale(1.2, 1.2);
                         }
                         completion:^(BOOL finished){


                         }];

    }
}

依此类推,直到值为 1.6 。自然这种方法效果不佳,它被调用了很多次并且在视觉上它抖动......我想达到这个结果: 用户向下滚动滚动视图,同时将放置在背景中的图像视图缩放到任意值(以及当用户 returns 向上滚动时的相反行为)。什么是正确的做法?

尝试根据 contentOffset 设置变换而不使用动画,例如

- (void)scrollViewDidScroll:(UIScrollView *)scrollView
{
  CGFloat scale = 1;
  if(Scroll.contentOffset.y<0){
    scale -= Scroll.contentOffset.y/10; //calculate the scale factor as you like
  }

  ImageView.transform = CGAffineTransformMakeScale(scale,scale);
}