Iphone pushViewController不显示带选项卡栏和导航栏的UIView/Nib
我对objective c比较陌生,但不懂编程,我一直在使用iphone应用程序 我创建了一个基于导航的应用程序,它同时具有导航栏和选项卡栏控制器。我将选项卡栏设置为根控制器。我能够在每个选项卡之间切换,而不会出现任何问题,切换到各种UIView和UITableView 我的问题是,在我从TabBarController调用的其中一个UITableView中,didSelectRowAtIndexPath函数应该显示一个新的UIView。下面的代码没有给出任何错误,运行正常,但没有显示新的NibIphone pushViewController不显示带选项卡栏和导航栏的UIView/Nib,iphone,uinavigationcontroller,Iphone,Uinavigationcontroller,我对objective c比较陌生,但不懂编程,我一直在使用iphone应用程序 我创建了一个基于导航的应用程序,它同时具有导航栏和选项卡栏控制器。我将选项卡栏设置为根控制器。我能够在每个选项卡之间切换,而不会出现任何问题,切换到各种UIView和UITableView 我的问题是,在我从TabBarController调用的其中一个UITableView中,didSelectRowAtIndexPath函数应该显示一个新的UIView。下面的代码没有给出任何错误,运行正常,但没有显示新的Nib
if(newViewController == nil) {
NSLog(@"yes nil");
BookViewController *aNewViewController = [[BookViewController alloc] initWithNibName:@"BookOptionView" bundle:nil];
self.newViewController = aNewViewController;
[aNewViewController release];
}
BookAppDelegate *delegate = (BookAppDelegate *)[[UIApplication sharedApplication] delegate];
[delegate.appNavBar pushViewController:newViewController animated:YES];
现在,当我执行下面的操作时,它工作得很好,但是它去掉了导航和制表符,我假设这是一个模式调用,而不是按视图控制器
你知道为什么我不能正确地推送视图控制器吗?在我的应用程序委托文件中,我声明了一个名为appNavBar的AppNavBarController对象(继承自UINavigationController)
任何帮助都将不胜感激 如果您想使用导航控制器将视图显示为模态视图,可以按如下操作:
UINavigationController *navigationController = [[UINavigationController alloc] initWithRootViewController:myViewController];
[self presentModalViewController:navigationController animated:YES];
另外,据我所见,您的appdelegate中有您的navcontroller。因此,我猜您正在为所有选项卡视图使用全局导航控制器,理想情况下不应该如此。您的导航控制器应位于选项卡控制器内,最好在不同选项卡中具有不同的导航控制器 我真的找到了答案。我不确定我是否理解上面的代码为什么不起作用,但以下内容满足了我的要求:
[self.navigationController pushViewController:newControllerName动画:是] 谢谢你的回复。您的代码看起来将完成与我提供的代码相同的任务,在这里,它将显示一个新的UIView,而无需使用全局导航栏和全局选项卡栏。
UINavigationController *navigationController = [[UINavigationController alloc] initWithRootViewController:myViewController];
[self presentModalViewController:navigationController animated:YES];