gpt4 book ai didi

swift - 通过 layoutIfNeeded 的图像动画停止工作

转载 作者:行者123 更新时间:2023-11-28 08:42:52 24 4
gpt4 key购买 nike

我遇到了一个让我很困惑的问题。我写了一个简单的两张图片的动画,效果很好。但是突然间它停止了动画,我不明白为什么。我没有做任何我能想到的会影响动画的改变。我已经检查过 NSLayoutConstraints 实际上正在更新并且它们正在更新,但它没有被动画化。任何想法都将不胜感激。

不幸的是我没有任何 git 版本。我是一个新手,至少这次经历让我意识到了 git 的值(value),并且我以后会使用它。我在 Storyboard中添加了约束,其中四个是我试图通过代码影响的。它们是我尝试移动的两个图像的 y 和 x 约束。

附加信息 我有四个警告:在当前配置中关闭了约束引用项。在当前配置中关闭此约束。我已经能够得出结论,发出警告的约束是我要设置动画的四个约束。但我仍然不确定如何解决这个问题。

额外更新我现在已将动画代码移至 override func viewWillAppear(animated: Bool) { super.viewWillAppear(true)。这样做之后,如果我删除第一个 self.view.layoutIfNeeded() ,我实际上会看到动画但是它会为所有 View 设置动画。但我不能只让约束变化仍然保持动画。

override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.

...

    self.view.layoutIfNeeded()
self.firstCallyC?.constant = 0

UIView.animateWithDuration(1.3, delay: 0.3, options: .CurveEaseInOut, animations: {
self.firstCallyC!.constant = (usePoint[0].y) - 210
self.firstCallxC?.constant = (usePoint[0].x) - 300
self.meditateyC?.constant = (usePoint[179].y) - 210
self.meditatexC?.constant = (usePoint[179].x) - 300
self.view.layoutIfNeeded()
}, completion: nil)
}

最佳答案

你应该将常量限制在动画 block 之外

  firstCallyC!.constant = (usePoint[0].y) - 210
firstCallxC?.constant = (usePoint[0].x) - 300
meditateyC?.constant = (usePoint[179].y) - 210
meditatexC?.constant = (usePoint[179].x) - 300
UIView.animateWithDuration(1.3, delay: 0.3, options: .CurveEaseInOut, animations: {

self.view.layoutIfNeeded()
}, completion: nil)

关于swift - 通过 layoutIfNeeded 的图像动画停止工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36022460/

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