Здесь два аспекта ....
Первый аспект ( UITabBarController ): Здесь Вы можете добавить несколько классов (т.е. Viewcontrollers) в UITabBarController, как показано в предыдущих ответах.
Второй аспект ( UITabbar ): здесь Вы можете добавить панель вкладок в любом контроллере представления ... И для этой панели вкладок вы можете добавить несколько элементов UITabBar..и вы можете получить индивидуальныйЭлемент Tabbar Действие .....
См. Код ниже UITabBar
---------> Добавление UITabBar
UITabBar *myTabBar = [[UITabBar alloc] initWithFrame:CGRectMake(0, 0, 320, 50)];
myTabBar.delegate=self; //here you need import the protocol <UITabBarDelegate>
[self.view addSubview:myTabBar];
---------> Добавление элементов в UITabBar
NSMutableArray *tabBarItems = [[NSMutableArray alloc] init];
UITabBarItem *tabBarItem1 = [[UITabBarItem alloc] initWithTitle:@"Item1" image:[UIImage imageNamed:@"Item1image.png"] tag:0];
UITabBarItem *tabBarItem2 = [[UITabBarItem alloc] initWithTabBarSystemItem:UITabBarSystemItemContacts tag:1 ];
UITabBarItem *tabBarItem3 = [[UITabBarItem alloc] initWithTabBarSystemItem:UITabBarSystemItemHistory tag:2 ];
[tabBarItems addObject:tabBarItem1];
[tabBarItems addObject:tabBarItem2];
[tabBarItems addObject:tabBarItem3];
myTabBar.items = tabBarItems;
myTabBar.selectedItem = [tabBarItems objectAtIndex:0];
---------> Получение элемента Действия в методе делегата
- (void)tabBar:(UITabBar *)tabBar didSelectItem:(UITabBarItem *)item {
NSInteger selectedTag = tabBar.selectedItem.tag;
NSLog(@"%ld",(long)selectedTag);
if (selectedTag == 0) {
//Do what ever you want here
} else if(selectedTag == 1) {
//Do what ever you want
} else { //if(selectedTag == 2)
//Do what ever you want here
}
}
Обновление: (Swift 2.0)
1. Первый аспект ( UITabBarController ):
Это позволит нам настроить UIViewController
s как tabbar
элементов в UITabBarController
.
Ниже приведенбазовый подход для UITabBarController :
---------> Добавление UITabBarController к окну в appdelegate
let tabBarController = UITabBarController(nibName: nil, bundle: nil)
tabBarController.delegate = self // Need to import 'UITabBarControllerDelegate'
self.window!.rootViewController = tabBarController;
self.window?.makeKeyAndVisible();
---------> Настройка UIViewControllers
let firstViewController = UIViewController()
firstViewController.title = "FirstVC"
firstViewController.tabBarItem = UITabBarItem(tabBarSystemItem: UITabBarSystemItem.Bookmarks, tag: 0)
let firstNavController: UINavigationController = UINavigationController(rootViewController: firstViewController)
let secondViewController = UIViewController()
secondViewController.title = "SecondVC"
secondViewController.tabBarItem = UITabBarItem(tabBarSystemItem: UITabBarSystemItem.Contacts, tag: 1)
let secondNavController: UINavigationController = UINavigationController(rootViewController: secondViewController)
let thirdViewController = UIViewController()
thirdViewController.title = "ThirdVC"
thirdViewController.tabBarItem = UITabBarItem(tabBarSystemItem: UITabBarSystemItem.Downloads, tag: 2)
let thirdNavController: UINavigationController = UINavigationController(rootViewController: thirdViewController)
let forthViewController = UIViewController()
forthViewController.title = "ForthVC"
forthViewController.tabBarItem = UITabBarItem(tabBarSystemItem: UITabBarSystemItem.Favorites, tag: 3)
let forthNavController: UINavigationController = UINavigationController(rootViewController: forthViewController)
---------> Подключение контроллеров UIView к UITabBarController
tabBarController.viewControllers = [firstNavController, secondNavController, thirdNavController, forthNavController]
---------> Получение события в 'UITabBarControllerDelegate'
func tabBarController(tabBarController: UITabBarController, didSelectViewController viewController: UIViewController) {
print("didSelectViewController: \(viewController.title) ?")
}
2. Второй аспект ( UITabBar ):
Это позволит нам создавать tabbar
предметов.Мы можем получить событие для отдельного элемента в методе делегата
Ниже приведен базовый подход для UITabBar :
---------> Добавление UITabBar к виду
let frame = CGRectMake(0, CGRectGetHeight(self.view.frame) - 49, CGRectGetWidth(self.view.frame), 49)
let tabBar: UITabBar = UITabBar(frame: frame)
tabBar.delegate = self // Need to import 'UITabBarDelegate'
self.view.addSubview(tabBar)
---------> Подготовка TabbarItems
let tabBarItem1 = UITabBarItem(tabBarSystemItem: UITabBarSystemItem.Bookmarks, tag: 0)
let tabBarItem2 = UITabBarItem(tabBarSystemItem: UITabBarSystemItem.Contacts, tag: 1)
let tabBarItem3 = UITabBarItem(tabBarSystemItem: UITabBarSystemItem.Downloads, tag: 2)
let tabBarItem4 = UITabBarItem(tabBarSystemItem: UITabBarSystemItem.Favorites, tag: 3)
--------> Добавление UITabBarItems в UITabBar
tabBar.items = [tabBarItem1, tabBarItem2, tabBarItem3, tabBarItem4]
tabBar.selectedItem = tabBarItem1
---------> Получение события в 'UITabBarDelegate'
func tabBar(tabBar: UITabBar, didSelectItem item: UITabBarItem) {
let selectedTag:Int = (tabBar.selectedItem?.tag)!
print(selectedTag)
switch selectedTag {
case 0:
print("tabBarItem1")
//Do what ever you want here
case 1:
print("tabBarItem2")
//Do what ever you want here
case 2:
print("tabBarItem3")
//Do what ever you want here
default:
print("tabBarItem4")
//Do what ever you want here
}
}