当前位置: 首页 > 知识库问答 >
问题:

UIViewAnimation在设置帧后反弹

梁存
2023-03-14

我得到了一个UIImageView,它应该从顶部滑动到视图中,然后当它停止时,应该会产生一个反弹动画。

我动画的y.position改变像这样:

     [UIView animateWithDuration:1.3
                                   delay:0.0
                                 options:UIViewAnimationOptionCurveEaseIn
                              animations:^{
                  [grassView setFrame:CGRectMake(grassView.frame.origin.x, 425, grassView.frame.size.width, grassView.frame.size.height)];
                  [headlineView setAlpha:1.0];
                  [self.loginButton setAlpha:1.0];
             // [textView setAlpha:1.0];
             [textView setFrame:CGRectMake(textView.frame.origin.x, -136, textView.frame.size.width, textView.frame.size.height)];

         }

                              completion:^(BOOL finished) {
             self.usernameField.placeholder = NSLocalizedString(@"username", nil);
             self.passwordField.placeholder = NSLocalizedString(@"password", nil);
}];

不要担心设置原点。y坐标到-136。我的图像视图位于屏幕外-460,因为它的高度是450。但是当将imageview滑入屏幕时,我不想显示整个图像,这就是为什么它没有设置为y位置的动画

有没有人给我一个提示或想法,告诉我如何在设置帧后让imageview反弹?

共有1个答案

微生嘉祥
2023-03-14

自从iOS7你可以用

[UIView animateWithDuration:<#(NSTimeInterval)#> delay:<#(NSTimeInterval)#> usingSpringWithDamping:<#(CGFloat)#> initialSpringVelocity:<#(CGFloat)#> options:<#(UIViewAnimationOptions)#> animations:<#^(void)animations#> completion:<#^(BOOL finished)completion#> ]

只需利用阻尼值和初始速度。

 类似资料:
  • FragmentStateAdapter抛出 java.lang.IllegalStateException: Design Assumption 违反了, 当设备旋转时。如何解决此问题? 例外

  • 我创建了这个动画,通过停止动画进入 当SetAnimationDidStop的动画部分未被调用时。。。你能告诉我为什么,我哪里做错了吗? 这是一路动画:

  • 问题内容: 我已经建立了一个reactjs网站,并试图使其能够部署。 现在,所有配置都是通过导入到所有模块中的config.js完成的。 但是,当我构建应用程序时,它会被编译到部署js中,并且是不可配置的。 我想拥有一个单独的文件,系统管理员可以根据其环境配置各种设置,例如API端点(该应用程序可能与后端未在同一服务器上运行,并且将无法访问DNS )。 有办法做到这一点吗?我也不希望为此使用第三方

  • 因此,在回答我的问题(如何连续移动图像平滑Pyplay?)我被告知设置我的帧率,以便做我的动画。但是不管我把它放在哪里,什么都不做。我做BTW。那么我该怎么做呢?我已经研究并发现了这一点(pyplayclock.tick()vs在游戏主循环中的帧率),但我并不真正理解这一点。 我的主要游戏功能; 这是我的主要游戏循环; 主游戏循环不会设置帧速率,因为主游戏函数中有一个循环。这只是一个循环,因为当我

  • 问题内容: 我尝试使用下面的代码将命令输出存储在数组中,但是在“ while循环”之后无法打印数组元素,这意味着在代码的最后一行中,我的代码是否存在任何问题? 问题答案: 问题是您在 子 外壳中添加了元素。详细说明: 导致在子shell中执行,这是一个单独的执行环境。这意味着设置的变量不适用于 当前 外壳,其执行环境不会受到影响。您可以改为使用流程替代来实现相同目的: 请注意,不建议解析。尝试使用

  • 问题内容: 最初,我使用以下ajax设置cookie。 现在,我想使用servlet的添加cookie函数来设置cookie。但是我不知道如何实现我的目标。 为了延长Cookie的时间限制,我应该在React端写些什么来接收Cookie的会话时间? 问题答案: 看来以前在npm软件包中存在的功能已移至。现在,来自通用Cookie存储库的相关示例是: