• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

ios - 推送问题 UINavigationController

[复制链接]
菜鸟教程小白 发表于 2022-12-12 13:45:42 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

我在尝试从一个 UINavigationController 推送到另一个时遇到了问题。

我到达了我的 CameraViewController - 通过在不同的 View Controller 中选择一个按钮来嵌入 UINavigationController,如下所示:

- (void)goToCamera {
     UIStoryboard *storyboard = [UIStoryboard storyboardWithName"Main" bundle:nil];
     CameraViewController *camera = [storyboard  instantiateViewControllerWithIdentifier"CameraView"];
     [self presentViewController:camera animated:YES completion:^{
   }];
}

从那里我尝试通过推送来访问我的 PublishViewController - 它没有嵌入 UINavigationController,因为如果来自另一个 UINavigationController,我认为您不需要它。

我尝试这样做:

- (void)goToPublish {
    UIStoryboard *storyboard = [UIStoryboard storyboardWithName"Main" bundle:nil];
    PublishViewController *publishView = [storyboard instantiateViewControllerWithIdentifier"ublishView"];
    [self.navigationController pushViewController:publishView animated:YES];
}

任何想法为什么这不起作用? Controller 从不插入。从我最初使用相机时开始嵌入是否仍然有效,或者我是否还需要初始化 UINavigationController?

这是我的 Storyboard:

Storyboard



Best Answer-推荐答案


当你呈现一个名为 VC1 的 viewController 时,VC1 的 navigationController 必须为 nil,除非你呈现一个 navigationController。

你应该知道,当有人(UINavigationController) push 时,vc.navigationController 不是 nil,或者它是 UINavigationController 的 rootViewController。(实际上,nav 的 rootViewController 也被推送到了 nav 的堆栈中)。

您应该创建一个新的导航 Controller 。

- (void)goToCamera {
     UIStoryboard *storyboard = [UIStoryboard storyboardWithName"Main" bundle:nil];
     CameraViewController *camera = [storyboard  instantiateViewControllerWithIdentifier"CameraView"];
     UINav *nav = UINav alloc]initWithRootVC:camera];
     [self presentViewController:nav animated:YES completion:^{
   }];
}

关于ios - 推送问题 UINavigationController,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27895074/

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap