使用 TabBar 和 NavBar 在 App Delegate 中配置窗口

Posted

技术标签:

【中文标题】使用 TabBar 和 NavBar 在 App Delegate 中配置窗口【英文标题】:Configure window in App Delegate with TabBar and NavBar 【发布时间】:2016-03-04 04:45:35 【问题描述】:

我不完全确定如何表达这一点,但出于某种原因,我认为它相当简单。下面是适用于 NavigationBar 和 ViewController 的代码,用于在我的 App Delegate 中设置托管上下文/核心数据(在 didFinishLaunchingWithOptions 下)。我如何使同样的事情工作但也使用 TabBar(假设我仍然想访问 UIViewController)?

let navController = window!.rootViewController as! UINavigationController
let viewController = navController.topViewController as! ViewController
viewController.coreDataStack = coreDataStack

以下是我的尝试,但“tabController.selectedIndex = 2”命令出错。

let tabController = window!.rootViewController as! UITabBarController
let navController = (tabController.selectedIndex = 2) as! UINavigationController
let viewController = navController.topViewController as! FamilyViewController
viewController.coreDataStack = coreDataStack

有什么想法吗?提前感谢您的帮助!

【问题讨论】:

【参考方案1】:

我认为让 navController = (tabController.selectedIndex = 2) 为! UINavigationController 不正确。

tabController.selectedIndex = 2 而不是你应该使用 [tabController.viewControllers objectAtIndex:2]

很抱歉没有使用 swift 语法,但我认为您可以从中获得灵感。

【讨论】:

完美!供其他人参考,最终转换为 Swift 时,它最终变成了 tabController.viewControllers![1]。非常感谢!

以上是关于使用 TabBar 和 NavBar 在 App Delegate 中配置窗口的主要内容,如果未能解决你的问题,请参考以下文章

iOS进入界面隐藏下方tabbar等bar

Taro多端自定义导航栏Navbar+Tabbar实例

在 App.vue 中注册 NavBar 组件时遇到问题

看完这篇就可以用Flutter撸App了

flutter基础-看完这篇就可以撸app了

tabbar 上面的文字title 怎么移动位置