我有一个结合了TabController和UINavigationController的应用程序。
当一个按钮被按下时,我想弹出另一个带有自己的UINavigationController的窗口。
-(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文件中的标题修改。
我猜我设置笔尖的时候出了点问题,因为当我用一个基本的视图控制器替换导航控制器时,它加载正常。
你知道哪里出问题了吗?
发布于 2010-10-26 03:44:30
您必须首先将视图添加到NavController,然后在模式窗口中显示NavController。尝试如下所示:
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上。它将自动处理后退按钮和所有这些东西。就这么简单:)
发布于 2010-10-25 23:33:01
我有个简单的想法,
在展示NavigationController之前,你有没有把视图控制器推到NavigationController上?
去过那里,我自己做的;)
https://stackoverflow.com/questions/4016053
复制相似问题