加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

xcode – 如何使用Storyboard在AppDelegate中使用自定义Navigati

发布时间:2020-12-14 19:17:08 所属栏目:百科 来源:网络整理
导读:我在AppDelegate中遇到了有关Navigationcontroller的问题.我正在使用一个故事板,看起来像这样: 使用推送通知的结果是,我的AppDelegate文件中有以下功能: - (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)
我在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”这样的函数,但是没有找到.我无法直接实例化Detail View Controller,因为那里缺少导航栏.

我希望你理解我的意思 – 如果你认为我的方法是完全错误的,请纠正我; o)

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

谢谢你的帮助!

解决方法

UINavigationController是一个UIViewController子类,也可以在storyboard中分配一个标识符.

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读