视图出现后,视图的背景颜色会发生变化吗?

时间:2017-04-04 14:14:35

标签: ios swift

好的,我将登录屏幕的背景设置为某种颜色。我正在使用firebase,当它没有检测到身份验证时,它会实例化登录视图控制器并显示它。

首次出现时,它是正确的颜色,但它会立即变暗。有点像阿尔法回归正常100%。

但如果我在退出按钮(在tableview中)使用相同的2行代码,则视图会显示正确的颜色并且不会更改。

如果需要,我可以提供更多信息。感谢。

if(FIRAuth.auth()?.currentUser == nil) {
            let vc = self.storyboard?.instantiateViewController(withIdentifier: "firebaseLoginViewController")
            self.navigationController?.present(vc!, animated: true, completion: nil)
        }

 switch(indexPath.row) {
        case 5:
            let vc = self.storyboard?.instantiateViewController(withIdentifier: "firebaseLoginViewController")
            self.navigationController?.present(vc!, animated: true, completion: nil)
        }

1 个答案:

答案 0 :(得分:1)

因此,当您呈现视图时,视图填充屏幕后将删除其后面的视图。如果您的视图具有半透明背景颜色,那么您将注意到删除其他视图并显示黑色窗口时。

您可以通过以下两种方式解决此问题。第一个显然是使用100%的alpha作为背景颜色。但是,如果您正在寻找半透明的外观,那么您可以看到modalPresentationStyle。在您的情况下,我认为最好的选项是.overFullScreen

在使用半透明背景显示viewController之前,请设置类似的内容。

self.navigationController?.modalPresentationStyle = .overFullScreen