如何使用 Storyboard 在 AppDelegate 中使用自定义导航控制器

2024-02-16

我有一个关于 AppDelegate 中的 Navigationcontroller 的问题。我正在使用故事板,如下所示:

由于使用推送通知,我的 AppDelegate 文件中具有以下功能:

- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo {
//...
}

当通知到达时,我想初始化“详细视图” - 需要 ID 作为参数的控制器。该 ID 是我的有效负载的一部分,因此它存在于didReceiveRemoteNotification.

我想做到以下几点:

DetailView *detail = [storyboard instantiateViewControllerWithIdentifier:@"detail"];

detail.conversationID = theID; 

[self.navigationController pushViewController:detail animated:YES];

我现在的问题是:如何获得导航控制器?我搜索了像“getNavigationControllerByIdentifier”这样的函数或类似的函数,但什么也没找到。我无法直接实例化详细视图控制器,因为那里缺少导航栏。

我希望你明白我的意思 - 如果你认为我的方法完全错误,请纠正我;o)

只是另一个小信息:对我来说,详细视图控制器中的后退按钮返回表视图并不重要 - 当它使用“加载表视图”按钮链接到控制器时就足够了。

谢谢你的帮助!


UINavigationController is a UIViewController子类,也可以在故事板中分配一个标识符。

Use -instantiateViewControllerWithIdentifier:来创建UINavigationController它是根视图控制器。您可能需要在代码中实例化所有中间控制器并修改导航控制器的viewControllers属性来设置适当的导航堆栈。这样,当应用程序启动到详细视图时,他们可以找到返回的方式,就像他们通过界面手动推送一样。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用 Storyboard 在 AppDelegate 中使用自定义导航控制器 的相关文章

随机推荐