我不想在根视图控制器上添加 UInavigationController 和 tabbarcontroller

Posted

技术标签:

【中文标题】我不想在根视图控制器上添加 UInavigationController 和 tabbarcontroller【英文标题】:I dont want to add UInavigationController and tabbarcontroller on root view controller 【发布时间】:2012-04-19 11:30:21 【问题描述】:

我有一个基于单一视图的应用程序,当它运行时显示 2 个按钮。在点击 1 个按钮时,我想切换到另一个必须是 uinavigationcontroller 的视图,在 2 个按钮上我想切换到 tabbarcontroller 视图。我知道 uinav 和 tabbar 控制器可以做什么。我创建了基于 uinav 和选项卡的项目并研究了所有代码,在互联网上搜索教程,但我得到的是每个人都告诉我要像这样添加

self.window.rootViewController = self.navigationController;

在根视图控制器上。

想在根视图控制器上添加 UInavigationController 和 tabbarcontroller。请帮我解决这个问题。

谢谢。

【问题讨论】:

【参考方案1】:

然后创建一个名为 RootViewController 的UIViewController,例如,在其视图中添加两个按钮并处理这些按钮的触摸事件。第一个按钮,当被触摸时应该显示你的 UINavigationController,第二个按钮应该显示你的 UITabBarViewController。然后在您的 AppDelegate 的 didFinishLaunchingWithOptions: 方法中初始化您的 RootViewController 并设置 self.window.rootViewController = rootViewController;

(更新) 好的,创建一个 SingleView 应用程序。放置按钮并设置这些按钮的出口和操作。您还需要再创建 2 个视图控制器:一个 UINavigationController 和一个 UITabBarController。当第一个按钮被触摸时,在处理触摸的方法中添加:

-(void)button1Touched:(id)sender

    MyNavivationController *navc = [[MyNavigationController alloc] init];
    [self presentViewController:navc animated:YES completion:nil];

你可以对另一个按钮做同样的事情,但是初始化你的标签栏控制器并做同样的事情。如果您不熟悉这些操作,您可以参考有关如何创建视图控制器、处理事件等的文档...

【讨论】:

【参考方案2】:

@pamy 我可以为您提供完整的源代码,请让我知道您的 Skype id 或其他方式向您发送文件,我不知道如何在 *** 上发布代码。

我确实写了很多次,但它不接受我的代码。

【讨论】:

以上是关于我不想在根视图控制器上添加 UInavigationController 和 tabbarcontroller的主要内容,如果未能解决你的问题,请参考以下文章

在根视图控制器上管理视图控制器,如 iPad 中的子视图

如何在根视图中隐藏导航控制器?

关闭模态视图控制器后在根视图控制器中执行操作

如何使用 UIappearance 在根视图控制器中获取透明导航栏

ios,导航栏与其内容视图重叠

无法从另一个 tableview 加载另一个 tableView