gpt4 book ai didi

ios - 使用 Navigationcontroller 在 Tabbarcontroller 中构建层次结构

转载 作者:行者123 更新时间:2023-11-29 01:10:46 27 4
gpt4 key购买 nike

我有一个 Tabbarcontroller,里面有 5 个 View Controller 和导航 Controller ,就像我在这里所做的那样:

[self addChildViewController:VC1];
[self addChildViewController:NavigationController;
[self addChildViewController:VC2];
[self addChildViewController:VC3];
[self addChildViewController:VC4];

现在的问题是,按 Tabbar 上的按钮可以轻松访问每个 ViewController,我可以在其中呈现 Xib 文件等。

但现在我想要一个导航 Controller ,当按下选项卡栏上的按钮时会显示该 Controller 。这个Navigationcontroller本身有几个Viewcontroller。

我尝试在我的导航 Controller 中呈现我的第一个 View Controller (此代码来自 Navigationcontroller.m):

- (void)viewDidLoad {
[super viewDidLoad];

[self addChildViewController:VC5];
[self presentViewController:VC5];

这预期不起作用并给了我:应用程序试图以模态方式呈现事件 Controller 。

有没有好的方法来实现这样一个具体的目标?我正在努力解决这个问题。提前致谢!

编辑:这就是我在 Storyboard中设置它的方式。在我的编程方法中,未显示第一个 View Controller 。

enter image description here

最佳答案

在将 NavigationController 添加到选项卡栏时,不要将 VC5 View Controller 作为 subview Controller 添加到 NavigationController(除非它是一个 subview ?),而是将其添加为 Root View Controller 。

例如在您的标签栏代码中:

[self addChildViewController:VC1];
UINavigationController *navigationController = [[UINavigationController alloc] initWithRootViewController:VC5];
[self addChildViewController:navigationController];
[self addChildViewController:VC2];
[self addChildViewController:VC3];
[self addChildViewController:VC4];

有关 UINavigationController 的 Apple 文档位于此处:https://developer.apple.com/library/ios/documentation/UIKit/Reference/UINavigationController_Class/#//apple_ref/occ/instm/UINavigationController/initWithRootViewController :

关于ios - 使用 Navigationcontroller 在 Tabbarcontroller 中构建层次结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35775763/

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