在 AppDelegate 中定义不是初始 VC 的特定 TabBarController - swift
Posted
技术标签:
【中文标题】在 AppDelegate 中定义不是初始 VC 的特定 TabBarController - swift【英文标题】:define specific TabBarController that isn´t the initial VC in AppDelegate - swift 【发布时间】:2016-04-04 13:11:33 【问题描述】:在我的应用程序中有一个 TabBarController,它不是初始 VC。
当用户didEndCustomizingViewControllers
时,我想保存新的标签顺序。
我发现了一个最近被问到的问题:How to: Save order of tabs when customizing tabs in UITabBarController
我使用了 Rickard Elimää 的代码,它将 TabBarController 定义为 AppDelegate 中的初始控制器:
let tabBar: UITabBarController = self.window?.rootViewController as! UITabBarController
为了测试保存订单的代码是否有效,我将 TabBarController 设置为初始控制器并且它有效。 但是 UITabBarController 不应该是最初的 VC。 所以我的问题是如何定义那个 TabBarController,这样代码才能工作。
感谢您的帮助
【问题讨论】:
【参考方案1】:我发现最好的方法是实现UIViewControllerTransitionDelegate
。这将处理动画以及传递 rootViewController。这比仅仅传递 rootViewController 稍微复杂一点(就像我最初所做的那样),但从长远来看,值得花时间切换到它。
Apple Documentation.
www.raywenderlich.com(一个实现示例)
【讨论】:
以上是关于在 AppDelegate 中定义不是初始 VC 的特定 TabBarController - swift的主要内容,如果未能解决你的问题,请参考以下文章
iOS使用UIManagedDocument添加初始核心数据文件,而不是appdelegate
为啥我无法在 AppDelegate 中以编程方式更改我的初始视图控制器?
当 Healthkit 在后台唤醒我的应用程序时,AppDelegate 是不是会初始化?
当 Healthkit 在后台唤醒我的应用程序时,AppDelegate 是不是会初始化?