在 ModalViewController 中维护标题栏

Posted

技术标签:

【中文标题】在 ModalViewController 中维护标题栏【英文标题】:Maintain Title Bar in ModalViewController 【发布时间】:2011-03-16 13:53:57 【问题描述】:

在使用 modalViewController 时,我发现在我跳转到的屏幕上保留标题栏和按钮的唯一方法是创建一个导航控制器并将 modalView 屏幕设置为导航控制器的 rootView(如下所示) .

userNameViewController = [[UserNameViewController alloc] init];

UINavigationController *cntrol = [[UINavigationController alloc]          initWithRootViewController:userNameViewController];

[self.navigationController presentModalViewController:cntrol animated:YES];

[userNameViewController release];
[cntrol release];

为什么我不能简单地使用原始的 viewController 作为 modalView (如下)?

userNameViewController = [[UserNameViewController alloc] init]; [self presentModalViewController:userNameViewController Animation:YES];

【问题讨论】:

如果您没有在 UserNameViewController 中推送任何视图控制器,您可以。但是您必须在 NIB 中添加 UINavigationBar。您还需要直接在 NIB 中的导航中添加所需的任何按钮。 【参考方案1】:

因为您通常看到的导航栏属于导航控制器,而不是其子视图控制器。

您可以创建自己的导航栏并将其添加到控制器的视图中。但是,它需要重新布局(这可能就是重新创建导航控制器更容易的原因)。

【讨论】:

以上是关于在 ModalViewController 中维护标题栏的主要内容,如果未能解决你的问题,请参考以下文章

从另一个 modalviewcontroller 呈现 ModalViewcontroller

在 iPad 中使用 NavigationController 解除 ModalViewController 当在视图外点击时

如何在另一个 modalViewController 退出后更新 modalViewController

从子视图中关闭 ModalViewController

如何在两个控制器中使用相同的 modalViewController?

ModalViewController 仅在动画时显示