在模态视图上调用 present——没有显示,尽管调试输出显示它们确实加载了
Invoking present on modal view — nothing shows, despite debug output shows that they do load
试图从我的“ParentViewController
”中显示 ModalView
,但模拟器中没有任何显示
ParentViewController.swift
(实际上是除了样板 UIViewController 代码之外的唯一代码)看起来像这样:
override func viewDidAppear(_ animated: Bool) {
super.viewDidAppear(animated)
let modalViewController = ModalViewController()
modalViewController.modalPresentationStyle = .overCurrentContext
present(modalViewController, animated: true, completion: nil)
}
我的故事板有以下设置:
ParentViewController
Defines Context
= 真
Provides Context
= 真
Segue
Kind
:模态呈现
Presentation
:当前上下文
ModalViewController
Presentation
:当前上下文
调试 viewDidLoad
和 viewDidAppear
中 ModalViewController.swift
的打印语句显示这些至少似乎已执行。
问题大概出在这里
let modalViewController = ModalViewController()
您正在创建一个没有视图的 ViewController 实例,因此它是空白的,这就是为什么您在屏幕上看不到任何东西的原因,如果您的 ViewController 来自情节提要,则必须使用类似 storyboard.instantiateViewController(withIdentifier: "ModalViewController")
,如果它来自代码,必须将构造代码放入它的 loadView()
试图从我的“ParentViewController
”中显示 ModalView
,但模拟器中没有任何显示
ParentViewController.swift
(实际上是除了样板 UIViewController 代码之外的唯一代码)看起来像这样:override func viewDidAppear(_ animated: Bool) { super.viewDidAppear(animated) let modalViewController = ModalViewController() modalViewController.modalPresentationStyle = .overCurrentContext present(modalViewController, animated: true, completion: nil) }
我的故事板有以下设置:
ParentViewController
Defines Context
= 真Provides Context
= 真
Segue
Kind
:模态呈现Presentation
:当前上下文
ModalViewController
Presentation
:当前上下文
调试
viewDidLoad
和viewDidAppear
中ModalViewController.swift
的打印语句显示这些至少似乎已执行。
问题大概出在这里
let modalViewController = ModalViewController()
您正在创建一个没有视图的 ViewController 实例,因此它是空白的,这就是为什么您在屏幕上看不到任何东西的原因,如果您的 ViewController 来自情节提要,则必须使用类似 storyboard.instantiateViewController(withIdentifier: "ModalViewController")
,如果它来自代码,必须将构造代码放入它的 loadView()