我有一个视图控制器,我想在其中实现一个导航控制器,但是当我通过Interface Builder实现它或者以编程方式实现它时它不起作用。
我通过Interface Builder实现了大部分内容,但这是我在AppDelegate中实现的代码,我试图在我的视图控制器中实现它。
UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:viewController];
[window addSubview:navController.view];
我知道我无法在视图控制器中实现“窗口”,所以我在视图控制器中尝试了这个:
[self.view addSubview:navController];
但它仍然不起作用。
答案 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];