【问题标题】:Set NavigationBarController to rootViewController将 NavigationBarController 设置为 rootViewController
【发布时间】:2018-09-12 14:56:25
【问题描述】:

我尝试使用 MVC 模式,其中我的 NavigationController 实例化并控制我的所有视图和相应的视图切换。为此,我只需实例化我的 navigationController 并将其设置为 app delegate 中的 rootViewController。

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
    self.window = UIWindow(frame: UIScreen.main.bounds)
    let mainStoryboard: UIStoryboard = UIStoryboard(name: "Main", bundle: nil)
    let navigationController: NavigationController = (mainStoryboard.instantiateViewController(withIdentifier: "navigationController") as! NavigationController)

    self.window?.rootViewController = navigationController
    self.window?.makeKeyAndVisible()
    return true
}

在我的 NavigationController 类的 viewDidLoad() 函数中,我只是用 myTableViewController 实例化我的第一个“真实”视图并将其推到前面。

override func viewDidLoad() {
    super.viewDidLoad()
    let mainStoryboard: UIStoryboard = UIStoryboard(name: "Main", bundle: nil)
    self.myTableViewController = mainStoryboard.instantiateViewController(withIdentifier: "myTableViewController") as? MyTableViewController
    self.pushViewController(myTableViewController!, animated: true)
}

虽然一切正常,但我收到控制台警告:

无法实例化默认视图控制器 UIMainStoryboardFile 'Main' - 也许指定的入口点是 没有设置?

我认为会出现此警告,因为 navigationController 不是“真正的” ViewController...但是如果不在 App 委托中实例化 MyTableView(),我该如何解决?

【问题讨论】:

    标签: swift model-view-controller uinavigationcontroller appdelegate rootviewcontroller


    【解决方案1】:

    请检查您的故事板设置为初始视图控制器。

    【讨论】:

      猜你喜欢
      • 2016-04-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-09-29
      • 2020-01-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多