在 UISplitViewController 中显示来自详细视图控制器的 ViewController

show a ViewController from a Detail View Controller in a UISplitViewController

我的目标是: 在我的项目中显示一个 popUpViewController,用户可以在其中添加一个 "lesson"(添加一个 tableViewCelltableView) 然后保存。 因此,当用户按下 UISplitViewControllerDetailViewController 内的按钮时,应该显示 popUpViewController 。 我还希望弹出窗口显示为全屏,中间只有一个小 window,其余部分应为黑色,透明度为 0.5,透明。

我的问题是:我不知道如何显示弹出窗口。


我的尝试和结果:

试过:用present(Viewcontroller, animated:, completion: )显示

结果:全屏显示,但另一个 VC 在后台不再可见。

已尝试:以下片段:

let popOverVC = UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "popUpVC") as! PopUpViewController

self.addChildViewController(popOverVC)
self.view.addSubview(popOverVC.view)
popOverVC.didMove(toParentViewController: self)

结果: view不是全屏的,只有detail View Controller的大小(没有覆盖左边masterViewController的部分。

感谢您的帮助。

您可以使用 present(Viewcontroller, animated:, completion: ) 再试一次 并使用 modalPresentationStyleformSheet 例如:

let popOverVC = UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "popUpVC") as! PopUpViewController
popOverVC.modalPresentationStyle = .formSheet
self.present(popOverVC, animated: true, completion: nil)