在视图控制器中实现导航控制器

时间:2011-07-26 08:54:04

标签: iphone ios4 uinavigationcontroller viewcontroller

我有一个视图控制器,我想在其中实现一个导航控制器,但是当我通过Interface Builder实现它或者以编程方式实现它时它不起作用。

我通过Interface Builder实现了大部分内容,但这是我在AppDelegate中实现的代码,我试图在我的视图控制器中实现它。

UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:viewController];
[window addSubview:navController.view];

我知道我无法在视图控制器中实现“窗口”,所以我在视图控制器中尝试了这个:

[self.view addSubview:navController];

但它仍然不起作用。

2 个答案:

答案 0 :(得分:2)

在app delegate的applicationDidFinishLaunching中,您必须添加此代码。

viewController=[[myViewController alloc]init];
navigationController=[[UINavigationController alloc]initWithRootViewController:viewController];
[self.window addSubview:navigationController.view];

其中viewController是myViewController类的对象,您需要添加导航控制器。它在appDelegate的头文件中声明。同样,navigationController也在声明中声明。希望这会有所帮助。

新代码:

AppSettings *settings = [[AppSettings alloc] init];
UINavigationController *navCont = [[UINavigationController alloc] initWithRootViewController:settings];
navCont.navigationBar.barStyle = UIBarStyleBlackTranslucent;
[self.navigationController presentModalViewController:navCont animated:YES];
[settings release];
[navCont release];

答案 1 :(得分:0)

在你的-applicationDidFinishLaunching中尝试这个:

UINavigationController *navigationController = [[UINavigationController alloc] initWithRootViewController:viewController];
[self.window setRootViewController:navigationController];
[self.window makeKeyAndVisible];