UINavigationController 作为 ModalView
Posted
技术标签:
【中文标题】UINavigationController 作为 ModalView【英文标题】:UINavigationController as ModalView 【发布时间】:2012-05-03 17:34:32 【问题描述】:我的应用程序类 UINavigationController(带有 NIB)中有我想将其作为 ModalView 打开。
我这样做:(ColorInfo 就是这个 UINavigationController 类)
ColorInfo *InfoScreen = [[ColorInfo alloc] initWithNibName:@"ColorInfo" bundle:[NSBundle mainBundle]];
[InfoScreen setModalTransitionStyle:UIModalTransitionStyleCrossDissolve];
[self presentModalViewController:InfoScreen animated:YES];
它向我显示了一个空的 UINavigtionController 元素。请告诉我如何在 ModalView 中打开 ColorInfo(作为 UINavigationController),我将能够在其中导航? 我以为我可以使用所有 pushViewController 方法完成 ColorInfo,然后在 ModalView 中的另一个屏幕上打开它。
告诉我如何达到这个效果。
【问题讨论】:
你是否继承了 uinavigationcontroller? 【参考方案1】:根据您所说的,您在 ColorInfo 中继承了 UINavigationController,这不是您想要的。您希望 ColorInfo 像这样成为 UINavigationController 的根视图
ColorInfo *InfoScreen = [[ColorInfo alloc] initWithNibName:@"ColorInfo" bundle:[NSBundle mainBundle]];
UINavigationController *nav = [[UINavigationController alloc] initWithRootViewController:InfoScreen];
[self presentModalViewController:nav animated:YES];
我建议您阅读导航控制器文档以进一步了解。
http://developer.apple.com/library/ios/#documentation/uikit/reference/UINavigationController_Class/Reference/Reference.html
【讨论】:
对不起,给出了相同的答案,没有看到你的:-|该死的,我需要更快:-) 但是 InfoScreen 已经是 UINavigationController 并且我想在那里实现子控制器的所有推送。我知道 initWithRootViewController,但这可能不是我需要的。为了在 ColorInfo.h 中更清晰,我有:@interface ColorInfo : UINavigationController
@Konrad Kolasa 您仍然可以通过调用 self.navigationController 并使用该类上的各种函数从 ColorInfo 类中进行推送和弹出操作。一旦您将 InfoScreen 设置为 UINavigationController 的根视图控制器,那么您的视图控制器的 navigationController 属性将可用。您想要继承 UINavigationController 的唯一原因是为了覆盖或扩展其当前功能。【参考方案2】:
将此与 InfoScreen 控制器一起使用,并且不要继承 UINavigationController ...
UINavigationController* navController = [[UINavigationController alloc] initWithRootViewController:InfoScreen];
[navController setModalTransitionStyle:UIModalTransitionStyleCrossDissolve];
[self presentModalViewController:InfoScreen animated:YES];
【讨论】:
与上一篇文章相同...我希望 ColorInfo 已经作为 UINavigationController以上是关于UINavigationController 作为 ModalView的主要内容,如果未能解决你的问题,请参考以下文章
如何正确关闭作为模式呈现的 UINavigationController?
在 UINavigationController 中添加 UISegmentedControl 作为 titleView
UINavigationController 作为 iPhone 上的弹出框?
呈现 UINavigationController 几个视图深度,作为初始视图
带有 UINavigationController 作为选项卡的 UITabViewController
在以 Uinavigationcontroller 作为视图的 Popovercontroller 中更改导航栏和工具栏的色调