iphone-带NavigationController的Tabbar应用程序,不带MainWindow.xib
大家好 我对iPhone开发相当陌生。我已经学习了一些教程并创建了一个tabbar应用程序。以下是appdelegate实现中的代码:iphone-带NavigationController的Tabbar应用程序,不带MainWindow.xib,iphone,tabbar,navigationcontroller,Iphone,Tabbar,Navigationcontroller,大家好 我对iPhone开发相当陌生。我已经学习了一些教程并创建了一个tabbar应用程序。以下是appdelegate实现中的代码: self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; UIViewController *viewController1 = [[ViewController1 alloc] initWithNibName:@"ViewController1" bundle:
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
UIViewController *viewController1 = [[ViewController1 alloc] initWithNibName:@"ViewController1" bundle:nil];
UIViewController *viewController2 = [[ViewController2 alloc] initWithNibName:@"ViewController2" bundle:nil];
self.tabBarController = [[UITabBarController alloc] init];
self.tabBarController.viewControllers = [NSArray arrayWithObjects:viewController1, viewController2, nil];
self.window.rootViewController = self.tabBarController;
[self.window makeKeyAndVisible];
然后在每个控制器实现中设置选项卡的标题和图像
我的问题是,例如,在我的viewController1中,我需要导航到viewController3,当我使用presentModalViewController方法将viewController3推入时,底部的选项卡栏将消失
当我尝试使用app委托引用我的tabBarController,并使用tabBarController.navigationController pushViewController方法时,我的viewController3没有被推送,似乎什么也没有发生
我试着学习一些教程,但都需要将navigationcontroller拖到MainWindow.xib中,在xcode 4中,MainWindow.xib不再存在。如何从代码中创建navigationcontroller,以便应用程序可以在不同视图之间导航而不隐藏选项卡栏
非常感谢您的任何评论!提前谢谢
:)我不是很确定,但是你试过这个吗???实际上我很快就要使用XCode 4了,我仍然在使用3.2.8版本:-
WebViewController *viewController = [[WebViewController alloc]initWithNibName:@"WebViewController" bundle:nil];
viewController.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal;
[self presentModalViewController:viewController animated:YES];
[viewController release];
请参见此页,当您导航到第三个屏幕时,选项卡栏将被删除,您必须提供导航栏才能返回
希望有帮助……) 我不是很确定,但是你试过这个吗???实际上我很快就要使用XCode 4了,我仍然在使用3.2.8版本:-
WebViewController *viewController = [[WebViewController alloc]initWithNibName:@"WebViewController" bundle:nil];
viewController.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal;
[self presentModalViewController:viewController animated:YES];
[viewController release];
请参见此页,当您导航到第三个屏幕时,选项卡栏将被删除,您必须提供导航栏才能返回
希望有帮助……) 如果要使用导航控制器,则需要创建导航控制器。因为您没有使用XIB,所以必须手动创建它 由于您希望在显示viewController3时选项卡栏保持可见,因此需要使导航控制器成为选项卡栏控制器的子控制器
UIViewController *viewController1 = [[ViewController1 alloc] initWithNibName:@"ViewController1" bundle:nil];
UINavigationController *navController1 = [[UINavigationController alloc] initWithRootViewController:viewController1];
UIViewController *viewController2 = [[ViewController2 alloc] initWithNibName:@"ViewController2" bundle:nil];
self.tabBarController = [[UITabBarController alloc] init];
self.tabBarController.viewControllers = [NSArray arrayWithObjects:
navController1,
viewController2,
nil];
然后,如果要显示viewController3,请执行以下操作:
// in some method of viewController1
[self.navigationController pushViewController:viewController3 animated:YES];
如果要使用导航控制器,则需要创建导航控制器。因为您没有使用XIB,所以必须手动创建它 由于您希望在显示viewController3时选项卡栏保持可见,因此需要使导航控制器成为选项卡栏控制器的子控制器
UIViewController *viewController1 = [[ViewController1 alloc] initWithNibName:@"ViewController1" bundle:nil];
UINavigationController *navController1 = [[UINavigationController alloc] initWithRootViewController:viewController1];
UIViewController *viewController2 = [[ViewController2 alloc] initWithNibName:@"ViewController2" bundle:nil];
self.tabBarController = [[UITabBarController alloc] init];
self.tabBarController.viewControllers = [NSArray arrayWithObjects:
navController1,
viewController2,
nil];
然后,如果要显示viewController3,请执行以下操作:
// in some method of viewController1
[self.navigationController pushViewController:viewController3 animated:YES];
的确,当您导航到第三个viewController时,选项卡栏将被删除。这就是为什么您必须为返回选项卡栏视图提供导航。实际上,我正试图告诉您尝试PresentModalViewController而不是PushViewController…:)但是当应用程序导航到viewController3时,我需要选项卡栏可见。一定有办法,但我就是想不出来…这是真的,当你导航到第三个viewController时,选项卡栏将被删除。这就是为什么您必须为返回选项卡栏视图提供导航。实际上,我正试图告诉您尝试PresentModalViewController而不是PushViewController…:)但是当应用程序导航到viewController3时,我需要选项卡栏可见。一定有办法,但我就是想不出来。。。