gpt4 book ai didi

ios - 从 UIViewController 切换到 navigationController 内的其他 ViewController

转载 作者:行者123 更新时间:2023-11-29 02:31:35 26 4
gpt4 key购买 nike

我有以下看法:

TabBarController 包括(MapViewController, NavigationController)Navigation Controller 包括需要切换到的 DetailViewControllerMapViewController 中使用了以下代码。

现在我的代码:

    let eventDetailViewController : EventDetailViewController = self.storyboard?.instantiateViewControllerWithIdentifier("EventDetail") as EventDetailViewController
eventDetailViewController.event = event
self.showViewController(eventDetailViewController, sender: self)

这行得通,但导航 Controller 无法洞察(例如,我无法转到 firstviewcontroller)。

如何通过导航 Controller 触发此代码?

下面是 Storyboard的屏幕截图。从左到右:TabbarController -> NavigationController 和 MapController。导航 Controller -> 事件 Controller 。最右边的 View 是 EventDetailView Storyboard

最佳答案

因此,从您的 MapView 中,self.tabBarController 将指向 tabBarController。从您的 Storyboard 来看,导航 Controller 似乎是第一个选项卡,因此将位于 tabBarController 的 viewControllers 属性中的索引 0 处。因此,您应该能够执行以下操作:

let eventDetailViewController : EventDetailViewController = self.storyboard?.instantiateViewControllerWithIdentifier("EventDetail") as EventDetailViewController
eventDetailViewController.event = event
let navController : UINavigationController = self.tabBarController.viewControllers[0] as UINavigationController
navController.pushViewController(eventDetailViewController, animated:YES)
self.tabBarController.selectedIndex = 0

我仍在学习 Swift,因此您可能需要整理一些可选值/展开 - 但我希望您能理解要点。

关于ios - 从 UIViewController 切换到 navigationController 内的其他 ViewController,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26791658/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com