我正在做一个基于SingleView的应用程序,其中有许多UIviewcontrollerclass子类可用于从一个视图移动到另一个视图。我在一个视图中有一个标签栏,并希望在单击一个选项卡时与其他视图通信。所以请告诉我我该怎么办我被困在这里。
我有上课
LoginPage.h / .m / .xib
Myservices.h / .m / .xib
History.h / .m / .xib
Profile.h / .m / .xib
MyRecentRequest.h / .m / .xib
当我从登录页面进入时,它将移至Myservices视图。
我在底部添加了选项卡栏,并添加了另外两个选项卡项,总共有4个选项卡栏项分别命名为Myservices,history,MyrecentRequest和配置文件。
现在,我想将选项卡栏与其他类连接起来,以便当我单击选项卡项目时,应该显示该特定类的相应视图,那么我该怎么做?请提供示例代码。
最佳答案
首先,如何通过IB或代码维护tabBar。下面如果按代码。您需要在每个tabItem中分配一个带有所有所需viewController的tabBar,以下是带有2个tabItems的示例:
UITabBarController* tabBarController = [[UITabBarController alloc] init];
NSMutableArray *localViewControllersArray = [[NSMutableArray alloc] initWithCapacity:8];
ViewController1* vC1 = [[ViewController1 alloc] init];
UINavigationController* navController1 = [[UINavigationController alloc] initWithRootViewController:vC1];
[vC1 release];
navController1.tabBarItem.image = [UIImage imageNamed:@"navController1_image.png"];
[localViewControllersArray addObject:navController1];
[navController1 release];
ViewController2* vC2 = [[ViewController2 alloc] init];
UINavigationController* navController2 = [[UINavigationController alloc] initWithRootViewController:vC2];
navController2.tabBarItem.image = [UIImage imageNamed:@"navController2_image.png"];
[vC2 release];
[localViewControllersArray addObject:navController2];
[navController2 release];
tabBarController.viewControllers = localViewControllersArray;
self.window.rootViewController = tabbarController;
[localViewControllersArray release];
[tabBarController release];
这样,您可以通过代码维护tabBar,这样,如果选择了选项卡,将显示相应的视图,在此示例中,每个选项卡中都使用导航控制器来提供导航,如果仅需要一个视图,则可以避免使用导航控制器..