gpt4 book ai didi

ios - 如何让从 Storyboard 中实例化的 UIViewCojntroller 嵌入到 UINavigationController 中

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

我的 Storyboard中有一个名为“Yellow”的 UIViewController,我是这样添加的:

  _detailVC = [self.storyboard instantiateViewControllerWithIdentifier:@"Yellow"];
_detailVC.location=cell.location;


self.incomingView = _detailVC.view;
[self addChildViewController:_detailVC];
[self.view addSubview:self.incomingView];
self.incomingView.alpha = 0;
[_detailVC didMoveToParentViewController:self];

我需要这个 UIViewController 存在于 UINavigationController 中,因为我正在使用推送 segue 并且它正在提供我遇到以下错误:

*** 由于未捕获的异常“NSGenericException”而终止应用程序,原因:“找不到 segue ‘pushDetailVC’的导航 Controller 。”只有当源 Controller 由 UINavigationController 的实例管理时,才能使用推送转场。'

如果我转到“黄色” View Controller 的 View ,并“嵌入导航 Controller ”,我仍然遇到同样的问题。

enter image description here

我如何将这个 UIViewController 嵌入到 UINavigationController 中,以便推送 segue 工作正确吗?

最佳答案

当您从 Storyboard 中实例化一个 View Controller 时,您不会自动获得它可能嵌入的任何 Controller 。您是在告诉系统给您一个 DetailVC,而这正是它给您的。如果你想要导航 Controller ,那么你需要实例化它,它会自动实例化它的 rootViewController(它是黄色的),因为它连接了一个关系 segue。

UINavigationController *nav = [self.storyboard instantiateViewControllerWithIdentifier:@"Nav"];
_detailVC = (DetailVC *)nav.topViewController; // replace DetailVC with whatever your class name is
_detailVC.location=cell.location;

关于ios - 如何让从 Storyboard 中实例化的 UIViewCojntroller 嵌入到 UINavigationController 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26824780/

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