1. 程式人生 > >IOS系列——tabbar程式碼新增

IOS系列——tabbar程式碼新增

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];
}