ios - 如何在 UITabViewController 中显示 ViewController(非模态)

标签 ios swift uitabcontroller

我想在 UITabController 中显示 ViewController,但不以模态方式显示它。在应用程序中,有一个主屏幕,其中有一堆按钮可以连接到其他 ViewController。其他 View Controller 嵌入在导航 Controller 中。我现在需要显示 TodayExtension 中的 ViewController 之一。在我的应用程序委托(delegate)中,我有这个,但它以模式方式呈现 RequestorViewContoller,而没有选项卡结构或导航控件。

    let mainStoryboard: UIStoryboard = UIStoryboard(name: "Main", bundle: nil)
    let requestor = mainStoryboard.instantiateViewController(withIdentifier: "RequestStoryboardID") as! RequestorViewController
    let rootViewController = self.window!.rootViewController as! UITabBarController
    rootViewController.present(requestor, animated: false, completion: nil)

最佳答案

就像你提到的,如果UITabBarControllerselectedViewController是一个UINavigationController,你可以做一个pushViewController > 相反。

首先,您必须获取当前屏幕上的UINavigationController。然后以 requestor 作为参数执行 pushViewController

presentedNavigationController = rootViewController.selectedViewController as! UINavigationController
presentedNavigationController.pushViewController(requestor, animated: true)

关于ios - 如何在 UITabViewController 中显示 ViewController(非模态),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40292637/

相关文章:

xamarin.ios - xamarin.ios 中的 UITabBarController 不使用 StoryBoard

ios - 如何使用 queryEqual(toValue :childKey:) in Firebase SDK for iOS properly?

ios - 在自己的服务器和 iPhone 应用程序之间实现 Oauth

swift - 将我的代码变成更好的类似 Swift 的 FizzBu​​zz 响应答案

ios - uitableview 标题 View 问题

ios - 将 UINavigationController 添加到 UITabBarController,而不在所有 View 中显示标签栏

iOS 如何同步 Main.storyboard 字符串和 Localizable.strings

ios - NSLayoutAttributeBaseline 和 NSLayoutAttributeBottom 有什么区别?

ios - 如何在 segue 目标 View Controller 中执行 segue

iphone - 如何将 "more"标签栏的编辑 View 的导航栏设置为黑色?