iOS Swift UIView动画跳回到开头

梅林0216



我是新手,有一点问题。我已经在互联网上搜索了几个小时,找不到任何解决方案,所以这是我的最后希望!

我正在做一个小游戏,那里有一个UIView。我使用UIView.animate()将动画设置为屏幕上的随机位置。问题是,当我用另一个视图制作另一个动画时,以前的动画视图跳回到屏幕上的初始位置。

这是我用来制作视图动画的代码:

UIView.animate(withDuration: 1.0, delay: 0.0, options: .curveEaseInOut, animations: {
            self.skull.frame = CGRect(x: xSkull, y: ySkull, width: self.skull.frame.size.width, height: self.skull.frame.size.height)
        }, completion: nil)


例如,如果在脚本中将称为UI的头骨的UIView限制为x:50和y:200,并且将其动画化为例如x:120,y:400,则它可以查找并正确设置动画。但是,当我按下暂停按钮(单击该按钮时会显示一点比例的动画)时,头骨会跳回到x:50,y:200。

当我尝试为视图约束的常量设置动画时,它会跳而不会完全动画:

UIView.animate(withDuration: 1.0, delay: 0.0, options: .curveEaseInOut, animations: {
            self.skull_xConstraint.constant = xSkull
            self.skull_yConstraint.constant = ySkull
        }, completion: nil)



我真的不确定自己做错了什么,也许是自动布局方面的问题,但是就像我说的那样,我是新手,互联网也无济于事。

因此,感谢您的任何提前帮助!

贾瓦德·阿里

您需要像这样在Animation中布置子视图

      self.skull_xConstraint.constant = xSkull
      self.skull_yConstraint.constant = ySkull
      UIView.animate(withDuration: 1.0, delay: 0.0, options: .curveEaseInOut, animations: {
           self.view.layoutIfNeeded()
        }, completion: nil)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章