【问题标题】:show a ViewController from a Detail View Controller in a UISplitViewController从 UISplitViewController 中的 Detail View Controller 显示 ViewController
【发布时间】:2018-04-27 09:28:40
【问题描述】:

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

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


我的尝试和结果:

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

结果:它显示全屏,但其他 VC 在后台不再可见。

试过:以下sn-p:

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

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

结果:视图不是全屏的,只有细节视图控制器的大小(没有覆盖左侧的masterViewController部分。

感谢您的帮助。

【问题讨论】:

    标签: swift fullscreen viewcontroller uisplitviewcontroller master-detail


    【解决方案1】:

    您可以使用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)
    

    【讨论】:

    • 对 formSheet 不太适用,但对 .custom 确实适用,所以非常感谢您给我正确的想法,祝您有美好的一天 :)
    猜你喜欢
    • 1970-01-01
    • 2015-12-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多