【问题标题】:Does the navigation controls and other controls have to be within the appDelegate?导航控件和其他控件是否必须在 appDelegate 中?
【发布时间】:2013-03-30 12:31:11
【问题描述】:

是否可以使用单个视图控制器启动您的项目,然后在第二个或第三个视图控制器上实现导航控制器,然后在第四个视图控制器上实现选项卡视图控制器?或者这种类型的项目需要是故事板项目吗?

目前我的困境是,我只从一个视图控制器开始,它有一个圆形矩形按钮,可将您带到第二个视图控制器。从第二个视图控制器,我想要一个带有嵌入式表格视图的导航控制器,它将带我从第二个到第三个视图控制器返回和第四个。我已经尝试了几个小时将必要的代码放入每个 .h 和 .m 文件中,但我一直在碰壁。

提前致谢。

【问题讨论】:

    标签: uitableview uiviewcontroller uinavigationcontroller


    【解决方案1】:

    一个。您当然可以呈现几个常规视图控制器,然后在稍后阶段添加UINavigationController。当您需要展示导航控制器时,您可以将您的详细视图控制器嵌入其中,如下所示:

    (代码在您要从中显示详细视图控制器的视图控制器中)

    DetailViewController *detailVC = [[DetailViewController alloc] init];
    UINavigationController *detailNav = [[UINavigationController alloc] initWithRootViewController:detailVC];
    [self presentViewController:detailNav animated:TRUE completion:nil];
    

    b.不允许在 UINavigationController(或任何其他视图控制器)内有 UITabBarController。但是,您仍然可以使用UITabBar 控件并管理其余部分。示例请参考UITabBarController inside a UINavigationController

    【讨论】:

    • 嗨,马特,非常感谢!我猜你不能将 UITabBarController 嵌套在 UINavigationaController 中,但是如果你可以稍后实现 UINavigationController,那么 UITabBarController 甚至可以在以后实现,这很好,几乎可以回答我的问题。那么,为什么在 appDelegate 中实现 UINavigationController 时,您必须在 .h 文件中有一个 UINavigationController 属性,实际上我的第一个单视图 .h 文件中是否需要一个以及您提供的代码?非常感谢!
    • 实际上只有在 Interface Builder 中创建 UINavigationController 时才需要 UINavigationController 属性(以保留创建的对象)。如果您将在代码中创建 UINavigationController,则您的 appDelegate 中根本不需要属性。
    猜你喜欢
    • 2020-12-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多