Вы можете добавить к своему контроллеру делегата на <UITabBarDelegate>
,
создать вкладку программно
UITabBar * aTabBar;
и заполните его UITabBarItems
а затем реализовать эту функцию для обработки касания на вкладке для переключения видов
- (void)tabBar:(UITabBar *)tabBar didSelectItem:(UITabBarItem *)item
{
}
Это краткая часть кода
@interface yourTabsViewController : UIViewController <UITabBarDelegate>
{
UITabBar * mTabBar;
NSMutableDictionary * mControllerPerTab;
}
@end
В вашей реализации:
- (void)viewDidLoad
{
mControllerPerTab = [[NSMutableDictionary alloc] init];
[mControllerPerTab setValue:controller forKey:@"aKey"];
UIImage *bImage = /*icon of tab*/;
UITabBarItem *item = [[UITabBarItem alloc] initWithTitle:@"title" image:bImage tag:/*a tag for your tab*/];
[tabBarItems addObject:item];
}
mTabBar = [[UITabBar alloc] initWithFrame:CGRectMake(0, self.view.bounds.size.height - 49/*tabbbar lenght*/ - 44/*navigationbar length if it exists*/, self.view.bounds.size.width ,49)];
[mTabBar setItems:tabBarItems];
mTabBar.delegate = self;
mTabBar.selectedItem = [tabBarItems objectAtIndex:0];
[self tabBar:mTabBar didSelectItem:[tabBarItems objectAtIndex:0]];
// Finally, add the tab controller view to the parent view
[self.view addSubview:mTabBar];
[super viewDidLoad];
}
Затем вы добавляете этот метод для управления переключением вкладок
- (void)tabBar:(UITabBar *)tabBar didSelectItem:(UITabBarItem *)item
{
int tag = [item tag];
/*I'm using the tag to identify wich coltroller to open*/
UIViewController * controller = [mControllerPerTab objectForKey:[NSString stringWithFormat:@"%d", tag]];
controller.view.frame = CGRectMake(0,0,self.view.bounds.size.width,self.view.bounds.size.height - 49);
[self.view addSubview:controller.view];
[self.view addSubview:mTabBar];
[self.view autoresizesSubviews];
}