首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >UINavigationController和presentModalViewController

UINavigationController和presentModalViewController
EN

Stack Overflow用户
提问于 2010-10-25 23:22:36
回答 2查看 4K关注 0票数 2

我有一个结合了TabController和UINavigationController的应用程序。

当一个按钮被按下时,我想弹出另一个带有自己的UINavigationController的窗口。

代码语言:javascript
复制
-(void) buttonPushed: (UIBarButtonItem *) myButton
{

    MyNavigationController *controller = [[MyNavigationController alloc] initWithNibName:@"MyNavigationController" bundle:nil];

    MyDelegate *appDelegate = (MyAppDelegate*) [[UIApplication sharedApplication] delegate];    
    [appDelegate.rootController presentModalViewController:controller animated:YES];
}

窗口显示,但我得到了一个完整的空白导航栏,我看不到我在nib文件中的标题修改。

我猜我设置笔尖的时候出了点问题,因为当我用一个基本的视图控制器替换导航控制器时,它加载正常。

你知道哪里出问题了吗?

EN

回答 2

Stack Overflow用户

发布于 2010-10-26 03:44:30

您必须首先将视图添加到NavController,然后在模式窗口中显示NavController。尝试如下所示:

代码语言:javascript
复制
MyController *controller = [[MyController alloc] initWithNibName:@"controllerNib" bundle:nil];

  //Place controller in navController
UINavigationController * navController = [[UINavigationController alloc] initWithRootViewController:controller];

//Display in form sheet modal window
navController.modalPresentationStyle = UIModalPresentationFormSheet;

 MyDelegate *appDelegate = (MyAppDelegate*) [[UIApplication sharedApplication] delegate];    
[appDelegate.rootController presentModalViewController:navController animated:YES];

这样做之后,您可以随时在控制器视图控制器内将新视图推送到navController上。它将自动处理后退按钮和所有这些东西。就这么简单:)

票数 3
EN

Stack Overflow用户

发布于 2010-10-25 23:33:01

我有个简单的想法,

在展示NavigationController之前,你有没有把视图控制器推到NavigationController上?

去过那里,我自己做的;)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4016053

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档