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

标签 ios iphone uiview uiviewanimation

我正在尝试实现一个动画,该动画根据 ScrollView 偏移量缩放 ImageView (我在 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 。自然这种方法效果不佳,它被调用了很多次并且在视觉上它抖动......我想达到这个结果: 用户向下滚动 ScrollView ,同时将放置在背景中的 ImageView 缩放到任意值(以及当用户返回向上滚动时的相反行为)。什么是正确的做法?

最佳答案

尝试根据 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);
}

关于ios - 我如何制作链接到 uiscrollview contentoffest 的 uiimageView 缩放动画?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28176668/

相关文章:

ios - 将 UILabel 粘贴到 UIView 或 UIImageView

ios - keyWindow 并不总是返回 UIWindow

iphone - UITextField 不占用整个屏幕宽度

ios - 从 xib IBOutlets nil 快速加载 UIViewController

iOS CallKit 调用识别

ios - 核心数据迁移 addAuthorsObject

iphone - 被分析的二进制文件必须存在,xcode 中的 iOS App Archive

iphone - 在 iOS 5 中检测 iPhone 静音开关

iphone - CATiledLayer 到 CALayer

iphone - UISwitch 设置为 ON,它不显示模态视图 Controller 转换