12赞
629
当前位置:  开发笔记 > 编程语言 > 正文

是否可以在两个视图背景图像之间淡入淡出?

如何解决《是否可以在两个视图背景图像之间淡入淡出?》经验,为你挑选了1个好方法。

我想知道一些按钮是否可能导致从一个背景图像淡入另一个背景图像?以下代码导致从当前图像background-image-1到新图像的突然变化background-image-2.

func buttonPressed() {
    if let image = UIImage(named: "background-image-2") {
        UIView.animateWithDuration(2, delay: 0, options: .CurveEaseInOut, animations: {_ in
            self.view.backgroundColor = UIColor(patternImage: image)
        }, completion: nil)
}

谢谢

编辑

虽然接受的答案确实有效,但我在图像之间快速切换时发现了一些细微的故障.使用类似的方法UIView.animateWithDuration解决了这个问题:

func buttonPressed() {
    let oldImageView = UIImageView(image: UIImage(named: "background-image-1"))
    oldImageView.frame = view.frame
    let newImageView = UIImageView(image: UIImage(named:"background-image-2"))
    newImageView.frame = view.frame
    newImageView.alpha = 0
    view.insertSubview(newImageView, aboveSubview: backgroundImageView)
    view.insertSubview(oldImageView, aboveSubview: newImageView)
    UIView.animateWithDuration(1.0, delay: 0.0, options: .CurveEaseInOut, animations: {
        oldImageView.alpha = 0
        newImageView.alpha = 1
        }, completion: { completed in
            self.backgroundImageView.image = newImage
            newImageView.removeFromSuperview()
            oldImageView.removeFromSuperview()
    })
}

Pranav Wadhw.. 7

Say imageView是您用于动画的UIImageView.image1是你原来的形象.image2是新的形象.试试这个:

let crossFade: CABasicAnimation = CABasicAnimation(keyPath: "contents")
crossFade.duration = 1
crossFade.fromValue = image1.CGImage
crossFade.toValue = image2.CGImage
self.imageView.image = image2
self.imageView.layer.addAnimation(crossFade, forKey: "animateContents")

希望这可以帮助.



1> Pranav Wadhw..:

Say imageView是您用于动画的UIImageView.image1是你原来的形象.image2是新的形象.试试这个:

let crossFade: CABasicAnimation = CABasicAnimation(keyPath: "contents")
crossFade.duration = 1
crossFade.fromValue = image1.CGImage
crossFade.toValue = image2.CGImage
self.imageView.image = image2
self.imageView.layer.addAnimation(crossFade, forKey: "animateContents")

希望这可以帮助.


推荐阅读
author-avatar
紫藤雨2502915477
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有