Swift 模态视图背景设置为清除后显示为黑色
Swift modal view background appearing black after setting it to clear
我正在尝试以模态方式从控制器呈现自定义视图,但是当我这样做时,除了文本字段之外的所有内容的背景都变成黑色,如 here . (the intended modal)
中所示
这似乎是一个相当普遍的问题,但是我已经实现了大多数类似问题的代码作为答案
这是我在第一个控制器中的 addEvent 方法:
@IBAction func addEvent(_ sender: Any) {
let newEventViewController = NewEventViewController()
newEventViewController.view.backgroundColor = UIColor.clear
newEventViewController.view.isOpaque = false
navigationController?.modalPresentationStyle = UIModalPresentationStyle.overCurrentContext
navigationController?.present(newEventViewController, animated: true, completion: nil)
}
如能帮助我找出我遗漏的内容,我们将不胜感激。如果它有所作为,我将使用单独的 xib 文件而不是情节提要来创建我的应用程序。
您需要像这样设置 newEventController 的 modalPresentationStyle 而不是 navigationController:
newEventViewController.modalPresentationStyle = UIModalPresentationStyle.overCurrentContext
虽然不需要,但我会像这样从自己而不是导航控制器中展示:
self.present(newEventViewController, animated: true, completion: nil)
我正在尝试以模态方式从控制器呈现自定义视图,但是当我这样做时,除了文本字段之外的所有内容的背景都变成黑色,如 here . (the intended modal)
中所示这似乎是一个相当普遍的问题,但是我已经实现了大多数类似问题的代码作为答案
这是我在第一个控制器中的 addEvent 方法:
@IBAction func addEvent(_ sender: Any) {
let newEventViewController = NewEventViewController()
newEventViewController.view.backgroundColor = UIColor.clear
newEventViewController.view.isOpaque = false
navigationController?.modalPresentationStyle = UIModalPresentationStyle.overCurrentContext
navigationController?.present(newEventViewController, animated: true, completion: nil)
}
如能帮助我找出我遗漏的内容,我们将不胜感激。如果它有所作为,我将使用单独的 xib 文件而不是情节提要来创建我的应用程序。
您需要像这样设置 newEventController 的 modalPresentationStyle 而不是 navigationController:
newEventViewController.modalPresentationStyle = UIModalPresentationStyle.overCurrentContext
虽然不需要,但我会像这样从自己而不是导航控制器中展示:
self.present(newEventViewController, animated: true, completion: nil)