gpt4 book ai didi

ios - 从后台返回后 UIView 动画被阻止 ios8 (Rubymotion)

转载 作者:行者123 更新时间:2023-11-29 02:29:50 27 4
gpt4 key购买 nike

我正在尝试在用户从后台返回到应用后重新启动 UIView 动画。

这是动画:

  def animate_glow
UIView.animateWithDuration(GLOW_SPEED,
delay: 0.0,
options: UIViewAnimationOptionRepeat |
UIViewAnimationOptionAutoreverse |
UIViewAnimationOptionAllowUserInteraction,
animations: -> {
@swipe_glow.transform = CGAffineTransformMakeScale(GLOW_SCALE, GLOW_SCALE)
},
completion: nil
)
end

监听 UIApplicationWillEnterForegroundNotification 我正在尝试调用 animate_glow 但我的动画不会重新启动/被阻止。日志显示正在调用通知监听器并且 UIView.areAnimationsEnabled 返回 true。我还尝试从 superview 中删除 @swipe_glow 引用的 View 并创建一个新 View ,然后调用 animate_glow 这对实际动画也没有影响(虽然是一个新的可以毫无问题地创建 UIView。

谁能解释一下?

最佳答案

我找到的一个解决方案,以防其他人发现这个问题:

UIViewAnimationOptionRepeat |
UIViewAnimationOptionAutoreverse |

这些行似乎是问题的原因,因为当动画从背景返回时,动画被设置到它们的终点 (GLOW SCALE)。系统随后尝试重新启动动画,但没有发现动画有任何变化。

两种可能的解决方案:监听 UIApplicationDidEnterBackground 并在处理程序中将 View 重置为动画的位置回到它的原点。

或者将动画 block 更改为在其 completion: block 中相互调用的动画和反转方法。

希望这对某人有帮助!

关于ios - 从后台返回后 UIView 动画被阻止 ios8 (Rubymotion),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27038165/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com