[英]UIView.transitionWithView not animating
我正在尝试使用transitionWithVIew
为UIImageView中的图像变化设置动画。 图像改变了,但是似乎没有动画。 不知道为什么会这样。
这是我的代码:
func changeBackgroundAtIndex(index : Int) {
switch index {
case 0:
animateChangeWithImage(MLStyleKit.imageOfAboutMe)
case 1:
animateChangeWithImage(MLStyleKit.imageOfProjects)
case 2:
animateChangeWithImage(MLStyleKit.imageOfSkills)
case 3:
animateChangeWithImage(MLStyleKit.imageOfEducation)
case 4:
animateChangeWithImage(MLStyleKit.imageOfTheFuture)
default:
animateChangeWithImage(MLStyleKit.imageOfAboutMe)
}
}
func animateChangeWithImage(image : UIImage) {
UIView.transitionWithView(backgroundImageView, duration: 0.4, options: UIViewAnimationOptions.TransitionCrossDissolve, animations: { () -> Void in
self.backgroundImageView.image = image
}, completion: nil)
}
有任何想法吗? 谢谢 :)
将函数签名更改为此,同时获取要更改的图像和UIImageView本身。 func animateChangeWithImage(image: UIImage, inImageView: UIImageView)
问题出在index
。 我正在获得index
因为用法是在滚动视图中滚动,这将不断更新index
变量,而没有给它足够的时间进行动画。
将changeBackgroundAtIndex
放置在scrollViewDidEndDecelerating
而不是用scrollViewDidScroll
修复。
鉴于实际的图像本身不是UIView,因此更改时可能没有对动画本身进行动画处理。
这似乎可以满足您的要求: 如何为UIImageView中的图像变化设置动画?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.