在视图控制器中实现导航控制器
我有一个视图控制器,我想在其中实现一个导航控制器,但是当我通过Interface Builder或以编程方式实现它时,它不起作用。在视图控制器中实现导航控制器
其中大部分是我通过Interface Builder实现的,但这里是我在AppDelegate中实现的代码,以及我试图在视图控制器中实现的代码。
UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:viewController];
[window addSubview:navController.view];
我知道我不能在一个视图控制器实行“窗口”,所以我想这在我的视图控制器:
[self.view addSubview:navController];
但它仍然无法正常工作。
在应用程序委托的applicationDidFinishLaunching中,您必须添加此代码。
viewController=[[myViewController alloc]init];
navigationController=[[UINavigationController alloc]initWithRootViewController:viewController];
[self.window addSubview:navigationController.view];
其中的viewController是myViewController类的对象,其ü需要添加导航控制器。它在appDelegate的头文件中声明。类似的,navigationController也在tat中声明。希望这可以帮助。
新代码:
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];
我已经尝试在applicationDidFinishLaunching下的appDelegate中实现此操作,但我想通过自己的viewController实现它。 – Souljacker
然后尝试用self替换viewcontroller,并将此代码添加到您想要实现的viewcontroller的loadview方法中.... – booleanBoy
像这样: - (void)loadView {[NewAlarm alloc] init] ; navController = [[UINavigationController alloc] initWithRootViewController:self]; [viewController addSubview:navController]; } – Souljacker
试试这个在您的-applicationDidFinishLaunching:
UINavigationController *navigationController = [[UINavigationController alloc] initWithRootViewController:viewController];
[self.window setRootViewController:navigationController];
[self.window makeKeyAndVisible];
你需要做的是这样的[self.window addSubview:navController.view]和initWithRootViewController之前,你需要分配你的viewController对象 – booleanBoy
Chk我的答案。并以同样的方式执行 – booleanBoy