IOS系列——tabbar程式碼新增
阿新 • • 發佈:2019-02-12
1.初始化四個頁面 與tabbarItem關聯
TuanVc *_tuan = [[TuanVc alloc] init]; UITabBarItem *item = [[UITabBarItem alloc] initWithTitle:@"團購" image:[UIImage imageNamed:@"icon_tab_shouye_normal"] selectedImage:[UIImage imageNamed:@"icon_tab_shouye_highlight"]]; _tuan.tabBarItem = item; UINavigationController *_navTuan = [[UINavigationController alloc] initWithRootViewController:_tuan]; NearbyTuanVc *_near = [[NearbyTuanVc alloc] init]; item = [[UITabBarItem alloc] initWithTitle:@"附近" image:[UIImage imageNamed:@"icon_tab_fujin_normal"] selectedImage:[UIImage imageNamed:@"icon_tab_fujin_highlight"]]; _near.tabBarItem = item; UINavigationController *_navNear = [[UINavigationController alloc] initWithRootViewController:_near]; MyVc *_my = [[MyVc alloc] init]; item = [[UITabBarItem alloc] initWithTitle:@"我的" image:[UIImage imageNamed:@"icon_tab_wode_normal"] selectedImage:[UIImage imageNamed:@"icon_tab_wode_highlight"]]; _my.tabBarItem = item; UINavigationController *_navMy = [[UINavigationController alloc] initWithRootViewController:_my]; MoreVc *_more = [[MoreVc alloc] init]; item = [[UITabBarItem alloc] initWithTitle:@"更多" image:[UIImage imageNamed:@"icon_tab_gengduo_normal"] selectedImage:[UIImage imageNamed:@"icon_tab_gengduo_highlight"]]; _more.tabBarItem = item; UINavigationController *_navMore = [[UINavigationController alloc] initWithRootViewController:_more];
2.初始化tabbar 注意要影藏tabbar的navi
_tabbar = [[UITabBarController alloc] init]; _tabbar.viewControllers = [NSArray arrayWithObjects:_navTuan,_navNear,_navMy,_navMore, nil]; UINavigationController *_navTabbar = [[UINavigationController alloc] initWithRootViewController:_tabbar]; _navTabbar.navigationBarHidden = YES;
3.設定tabbar的選中顏色
[[UITabBar appearance] setTintColor:MAINCOLOR]; [[UITabBarItem appearance] setTitleTextAttributes:[NSDictionary dictionaryWithObjectsAndKeys: MAINCOLOR, NSForegroundColorAttributeName, nil] forState:UIControlStateSelected];
4. 設定tabbar的背景圖
//設定tabbar的背景圖片
UITabBar *tabBar = self.tabBarController.tabBar;
[tabBar setTintColor:[UIColor colorWithRed:0.0
green:176.0/255.0
blue:226.0/255.0
alpha:1.0]];
tabBar.selectedImageTintColor = [UIColor clearColor];
UITabBarItem *item = [tabBar.items objectAtIndex:0];
NSString *homePath = [[NSBundle mainBundle] pathForResource:@"btn_home_highlight" ofType:@"png"];
if(item.tag == 1)
{
[item setTitleTextAttributes:[NSDictionary dictionaryWithObjectsAndKeys:
[UIColor lightGrayColor], UITextAttributeTextColor, nil]
forState:UIControlStateNormal];
item.selectedImage = [UIImage imageWithContentsOfFile:homePath];
}