gpt4 book ai didi

ios - 推送问题 UINavigationController

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:02:03 26 4
gpt4 key购买 nike

我在尝试从一个 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:@"PublishView"];
[self.navigationController pushViewController:publishView animated:YES];
}

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

这是我的 Storyboard:

Storyboard

最佳答案

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

你应该知道vc.navigationController在有人(UINavigationController)push的时候不是nil,或者是UINavigationController的rootViewController(其实nav的rootViewController也被push到nav的stack)

您应该创建一个新的 navigationController。

- (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/

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