以编程方式更改导航根视图目标 c

Posted

技术标签:

【中文标题】以编程方式更改导航根视图目标 c【英文标题】:Change navigation root view programmatically objective c 【发布时间】:2020-11-18 07:30:07 【问题描述】:

我想使用目标 c 以编程方式更改导航的根视图控制器。我正在使用故事板。我试图在应用程序内更改它的委托,但没有奏效,引入了一些新的东西,称为场景委托,我相信我可以从那里更改根目录,但我没有找到与此相关的资源。有人可以帮忙吗?

【问题讨论】:

【参考方案1】:

使用下面的代码:

class SceneDelegate: UIResponder, UIWindowSceneDelegate 

    var window: UIWindow?
    
    func scene(_ scene: UIScene, willConnectTo session: UISceneSession, options connectionOptions: UIScene.ConnectionOptions) 
    
        if let windowScene = scene as? UIWindowScene 
            let window = UIWindow(windowScene: windowScene)
            window.rootViewController = MyRootViewController()
            self.window = window
            window.makeKeyAndVisible()
        
     

参考:https://www.andrewcbancroft.com/blog/ios-development/ui-work/accessing-root-view-controller-ios13-scenedelegate/

还有:How set rootViewController in Scene Delegate iOS 13

【讨论】:

以上是关于以编程方式更改导航根视图目标 c的主要内容,如果未能解决你的问题,请参考以下文章

设置根视图控制器,然后以编程方式导航到下一个视图

当以编程方式设置根视图控制器时,导航和标签栏丢失

如何在 ios 9 中以编程方式导航到另一个具有“当前上下文”表示的视图控制器,目标 C

iOS 以编程方式向下钻取导航堆栈

Android以编程方式更改导航抽屉菜单项文本

目标 c:iOS 13+ 以编程方式设置初始根视图控制器