【问题标题】:UIView Animation - strange behaviour (Swift)UIView 动画 - 奇怪的行为(Swift)
【发布时间】:2016-05-25 12:28:10
【问题描述】:

我有一个包含动画图片(图片序列)的 UIImageView 我正在尝试将 UIImageView 从其当前位置移动到屏幕右侧(从屏幕中间到右侧)以创建运行效果角色

当我按下要触发动画的按钮时,图像突然消失,然后从屏幕左侧到中间进行动画处理。我不知道为什么 UIImageView 被移出屏幕(左侧)

这是我的代码

@IBAction func correctButtonPressed(sender: AnyObject) {
        if isTrue {
            winAudio.play()
            playRunAnimation()
            UIView.animateWithDuration(3, animations: { () -> Void in
                var frame = self.animatedImage.frame
                frame.origin.x += (self.animatedImage.superview?.frame.width)!
                self.animatedImage.frame = frame
            })
        }
    }

编辑:

这就是我为 UIImageView 设置动画的方式

func playIdelAnimation() {
        self.image = UIImage(named: "Idel1.png")
        var imageArray = [UIImage]()
        for i in 1...10 {
            let str = "Idle\(i).png"
            let imageName = UIImage(named: str)!
            imageArray.append(imageName)
        }
        self.animationImages = imageArray
        self.animationDuration = 0.5
        self.startAnimating()
    }

self.image = UIImage(named: "Idel1.png") 就是给UIImageView设置一张默认图片 然后我创建一个 UIImage 数组以在 UIImageView 中对其进行动画处理

使用(self),因为我有一个 UIImageView 的自定义类

【问题讨论】:

  • 你对动画图像使用了一些约束吗?
  • 是的,我确实使用了一些限制
  • 它们可能会导致问题,因为如果您更改图像的原点,约束仍然存在并且希望将图像保持在其位置。
  • 好的,谢谢,我会尝试删除它们并以编程方式放置 UIImageView
  • 不,我认为这不是最好的解决方案。只需更改动画中的约束即可。

标签: ios swift animation uiview


【解决方案1】:

首先,您需要从 interfacebuilder 中引用 imageview 的约束(不要忘记将 interfacebuilder 中的插座与约束连接):

 @IBOutlet weak var leftConstraint: NSLayoutConstraint!
 @IBOutlet weak var rightConstraint: NSLayoutConstraint!

我假设您的图像具有 leftConstraint.constant = 0rightConstraint.constant = self.view.frame.width

然后你用:

self.leftConstraint.constant = self.view.frame.width
self.rightConstraint.constant = self.view.frame.width + self.animatedImage.frame.width

UIView.animateWithDuration(3.0) {
    self.view.layoutIfNeeded()
}

我希望这会有所帮助。祝你好运。

【讨论】:

  • 你把约束和interfacebuilder连接了吗?使用此代码对您的图像有何影响?
  • 同样的事情。 UIImageView 消失然后从屏幕外动画到 UIImageView 的原点位置
  • 您能否提供一个示例应用程序。只是图像和你的错误?
  • 目前我不能。我注意到,如果它只是一个图像,一切都很好,但是当我创建一个动画图像(图片序列)时,错误会上升
  • 请发布一些关于如何创建图像或动画的代码。
猜你喜欢
  • 1970-01-01
  • 2013-03-17
  • 2017-05-26
  • 1970-01-01
  • 1970-01-01
  • 2023-03-11
  • 2019-10-09
  • 2016-08-29
  • 1970-01-01
相关资源
最近更新 更多