编译错误从app delegate获取navigationController

时间:2011-04-10 06:52:26

标签: iphone uinavigationcontroller uinavigationbar uiapplicationdelegate

在我的AppDelegate didFinishLaunchingWithOptions中,我初始化了UINavigationController

TodoTaskTableViewController *tttvc = [[TodoTaskTableViewController alloc] initInManagedObjectContext:self.managedObjectContext];
UINavigationController *navcon = [[UINavigationController alloc] init];

[navcon pushViewController:tttvc animated:NO];

[window addSubview:navcon.view];

[navcon release];

[window makeKeyAndVisible];

然后在我的TodoTaskTableViewController中,我点击按下另一个模态视图的按钮,发现模态视图的导航栏隐藏在AppDelegate导航栏下面。

所以我尝试隐藏AppDelegate的导航栏,方法如下:

AppDelegate *appDelegate = (AppDelegate *)[[UIApplication sharedApplication] delegate];

[appDelegate.navigationController setNavigationBarHidden:YES animated:YES];

但实际上我得到了一个编译错误:请求成员“navigationController”的东西不是结构或联合“

知道如何解决这个问题吗?

1 个答案:

答案 0 :(得分:0)

您需要向应用委托添加名为navigationController的属性,然后将其设置为navcon

在AppDelegate中didFinishLaunchingWithOptions:

self.navigationController = navcon;