黑色背景白色自定义过渡

Posted

技术标签:

【中文标题】黑色背景白色自定义过渡【英文标题】:Black Backgroud while custom transition 【发布时间】:2019-04-02 16:54:36 【问题描述】:

我想使用自定义过渡来更改视图。它可以工作,但背景是暗/黑色,所以看起来有点奇怪。

我尝试添加

self.window!.backgroundColor = UIColor.white

发给代表,但这并不能解决问题。

这是我的过渡代码

let homeView = self.storyboard?.instantiateViewController(withIdentifier: "ViewController") as! ViewController
        let transition = CATransition()
        transition.duration = 2.3
        transition.type = CATransitionType.reveal
        transition.subtype = CATransitionSubtype.fromLeft
        view.window!.layer.add(transition, forKey: "transition")
        self.dismiss(animated: false, completion: nil)
        present(homeView, animated: false, completion: nil)

【问题讨论】:

【参考方案1】:

要在过渡期间更改背景颜色,可以是窗口本身:

UIApplication.shared.keyWindow?.backgroundColor = UIColor.white

根视图控制器:

if let root = UIApplication.shared.keyWindow?.rootViewController as? YourRootViewController 
    root.view.backgroundColor = UIColor.black

呈现视图控制器或转换的容器视图。

【讨论】:

将它放在你呈现之前,然后将它改回呈现的完成处理程序中。

以上是关于黑色背景白色自定义过渡的主要内容,如果未能解决你的问题,请参考以下文章

eclipse怎么设置背景为黑色 字体为白色

NSTextField - 黑色背景上的白色文本,但黑色光标

自定义UINavigationController的状态栏背景

CSS3单向过渡?

使用 CSS 将文本颜色设置为红色背景上的白色和白色背景上的黑色文本颜色

带有黑色背景的 alpha 图像绘制其他白色...?