【问题标题】:How to push ViewController on full screen from modally presented ViewController with navigation controller iOS 13?如何从带有导航控制器 iOS 13 的模态呈现的 ViewController 全屏推送 ViewController?
【发布时间】:2020-07-19 08:24:57
【问题描述】:

我有一个情况,我有三个视图控制器,假设 VC1、VC2 和 VC3,我在 VC1 上使用导航控制器模态呈现 VC2

   let nav = UINavigationController(rootViewController: VC2)
   self.present(nav, animation:true)

我想要在不改变 iOS 13+ 中 VC2 的演示风格的情况下从 VC2 中全屏推送 VC3。 目前它的overCurrentContext。

【问题讨论】:

    标签: ios swift ios13 uimodalpresentationstyle


    【解决方案1】:

    如果要将视图控制器 VC3 添加为导航控制器的根视图控制器,则需要将 modalPresentationStyle 作为 overFullScreen 到导航控制器。

    let nav = UINavigationController(rootViewController: VC3)
    nav.modalPresentationStyle = .overFullScreen
    self.present(nav, animation: true)
    

    如果你是直接展示 VC3,那么就这样做吧。

    VC3.modalPresentationStyle = .overFullScreen
    self.present(VC3, animation: true)
    

    【讨论】:

    • 其实,我想要推送的不是 VC2 中的 VC3 overfullscreen 而不改变 VC2 的 Presentation 风格。
    • 从 VC2 推送的 VC 不会进入全屏模式。它将仅在 VC2 内部执行。因此,如果您需要全屏显示,则必须展示 VC3。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-07-10
    • 2018-03-07
    • 2021-03-17
    • 1970-01-01
    • 2019-06-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多