1.UITabBar
下方的工具條稱(chēng)為UITabBar ,如果UITabBarController有N個(gè)子控制器,那么UITabBar內(nèi)部就會(huì)有N 個(gè)UITabBarButton作為子控件與之對(duì)應(yīng)。
UITabBarButton在UITabBar中得位置是均分的,UITabBar的高度為49拂募。
在上面的程序中,UITabBarController有4個(gè)子控制器,所以UITabBar中有4個(gè)UITabBarButton,UITabBar的結(jié)構(gòu)?大致如下圖所示:
2.UITabBarButton
UITabBarButton?面顯?什么內(nèi)容,由對(duì)應(yīng)子控制器的tabBarItem屬性來(lái)決定
c1.tabBarItem.title=;
c1.tabBarItem.image=[UIImage imageNamed:tab_recent_nor];
3.有兩種方式可以往UITabBarController中添加子控制器
(1)[tb addChildViewController:c1];
(2)tb.viewControllers=@[c1,c2,c3,c4];
展示的順序和添加的順序一致法挨,和導(dǎo)航控制器中不同,展現(xiàn)在眼前的是第一個(gè)添加的控制器對(duì)應(yīng)的View幅聘。
4.設(shè)計(jì)思路
在控制器中添加導(dǎo)航控制器凡纳,講控制器做為導(dǎo)航控制器的根控制器,再將控制器加載到tabarcontroller中帝蒿。
//tabBar1添加
NewsViewController *news = [[NewsViewController alloc] init];
UINavgationController *nc1 = [[UINavgationController alloc] initWithRootViewController:news];
nc1.tabBarItem.title = @"欄目1";
nc1.tabBarItem.image = [UIImage imageNamed:@"menu_icon_main.png"];
[nc1.tabBarItem.title sizeWithFont:[UIFont systemFontOfSize:20]];
//tabBar2添加
NewsViewController *news2 = [[NewsViewController alloc] init];
UINavViewController *nc2 = [[UINavViewController alloc] initWithRootViewController:news2];
nc2.tabBarItem.title = @"欄目2";
nc2.tabBarItem.image = [UIImage imageNamed:@"menu_icon_main.png"];
[nc2.tabBarItem.title sizeWithFont:[UIFont systemFontOfSize:20]];
....
NSArray *item = [NSArray arrayWithObjects:nc1,nc2, nil];? //最多可添加5個(gè)欄目
UITabBarController *tabBar = [[UITabBarController alloc] init];
[tabBar setDelegate:self];
[tabBar setViewControllers:item];
//將tabbarcontroller做為window餓的根視圖顯示出來(lái)
[self.window setRootViewController:tabBar];