导航控件和其他控件是不是必须在 appDelegate 中?

Posted

技术标签:

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

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

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

提前致谢。

【问题讨论】:

【参考方案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 中根本不需要属性。

以上是关于导航控件和其他控件是不是必须在 appDelegate 中?的主要内容,如果未能解决你的问题,请参考以下文章

如何检测 jQuery 是不是在 WinForm WebBrowser 控件中导航到的文档中?

openlayers入门开发系列之地图导航控件篇

使用devexpress控件的C/S程序部署到其他电脑

标签栏、导航栏和段控制的设计问题

iOS:SWRevealViewController 打开没有导航栏的 WebView 控件

C# 使用表单加载其他用户控件并访问基本控件或属性