[英]UIView Animation - strange behaviour (Swift)
我有一个包含动画图片(图片序列)的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设置默认图片,然后在UIImageView中创建一个UIImage数组以对其进行动画处理
使用(自己),因为我有一个UIImageView的自定义类
首先,您需要从interfacebuilder引用imageview的约束( 不要忘记将interfacebuilder中的插座与约束连接 ):
@IBOutlet weak var leftConstraint: NSLayoutConstraint!
@IBOutlet weak var rightConstraint: NSLayoutConstraint!
我假设您的图像具有leftConstraint.constant = 0和rightConstraint.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()
}
我希望这有帮助。 祝好运。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.