zoukankan      html  css  js  c++  java
  • UITabBarController中自定义UITabBar

    1.创建多个视图控制器,放如UITabBarController中

    AViewController  *aa = [[AViewController alloc] init];
        UINavigationController* ayNav = [[UINavigationController alloc]initWithRootViewController:aa];
        
        BViewController  *bb = [[BViewController alloc] init];
        UINavigationController* bNav = [[UINavigationController alloc]initWithRootViewController:bb];
    
        CViewController  *cc = [[CViewController alloc] init];
        UINavigationController* cNav = [[UINavigationController alloc]initWithRootViewController:cc];
    
        DViewController  *dd = [[DViewController alloc] init];
        UINavigationController* dNav = [[UINavigationController alloc]initWithRootViewController:dd];
         2.初始化tabbar
        UITabBarController *tabBarController = [[UITabBarController alloc]init];
        tabBarController.delegate=self;
        tabBarController.viewControllers=[[NSArray alloc]initWithObjects:ayNav,bNav,cNav,dNav,nil];

      3.获取到tabBarController中的tabBar,在从tabBar中获取到每个items

    UITabBar *tabBar = tabBarController.tabBar;
        UITabBarItem *aTabBarItem = [tabBar.items objectAtIndex:0];
        UITabBarItem *bTabBarItem = [tabBar.items objectAtIndex:1];
        UITabBarItem *cTabBarItem = [tabBar.items objectAtIndex:2];
        UITabBarItem *dTabBarItem = [tabBar.items objectAtIndex:3];

      4. 设置tabBar中items的标题

    aTabBarItem.title = @"aaa";
        bTabBarItem.title = @"bbb";
        cTabBarItem.title = @"ccc";
        dTabBarItem.title = @"ddd";

       5.设置tabBar中items的图片

    [aTabBarItem setFinishedSelectedImage:[UIImage imageNamed:@"aa_selected.png"] withFinishedUnselectedImage:[UIImage imageNamed:@"aa.png"]];
        [bTabBarItem setFinishedSelectedImage:[UIImage imageNamed:@"bb_selected.png"] withFinishedUnselectedImage:[UIImage imageNamed:@"bb.png"]];
        [cTabBarItem setFinishedSelectedImage:[UIImage imageNamed:@"cc_selected.png"] withFinishedUnselectedImage:[UIImage imageNamed:@"cc.png"]];
        [dTabBarItem setFinishedSelectedImage:[UIImage imageNamed:@"dd_selected.png"] withFinishedUnselectedImage:[UIImage imageNamed:@"dd.png"]];

        6.设置tabBar的背景图片

        

    // Change the tab bar background
        UIImage* tabBarBackground = [UIImage imageNamed:@"tabbarbg.png"];
        [[UITabBar appearance] setBackgroundImage:[tabBarBackground resizableImageWithCapInsets:UIEdgeInsetsZero]];
        [[UITabBar appearance] setSelectionIndicatorImage:[UIImage imageNamed:@"tabbar_selected.png"]];

       7.改变tabBar中items上字体的颜色

    // Change the title color of tab bar items
        [[UITabBarItem appearance] setTitleTextAttributes:[NSDictionary dictionaryWithObjectsAndKeys:
                                                           [UIColor grayColor], UITextAttributeTextColor,
                                                           nil] forState:UIControlStateNormal];
        UIColor *titleHighlightedColor = [UIColor colorWithRed:153/255.0 green:192/255.0 blue:48/255.0 alpha:1.0];
        [[UITabBarItem appearance] setTitleTextAttributes:[NSDictionary dictionaryWithObjectsAndKeys:
                                                           titleHighlightedColor, UITextAttributeTextColor,
                                                           nil] forState:UIControlStateHighlighted];

       8.将tabBarController加入window中

    self.window.rootViewController = tabBarController;
       [self.window makeKeyAndVisible];
  • 相关阅读:
    多线程 C#解决方案小结
    程序员的灯下黑:Handson,Handson,Handson!
    有一家银行每天早上都在你的帐户里存入86,400
    3D流水线[引用]
    诸葛亮著作
    Vista 用户头像存储路径
    C# 关闭显示器的函数
    程序员的灯下黑:管理还是技术?兴趣优先
    VS1.4挤房+MH的登陆器
    失眠的调养
  • 原文地址:https://www.cnblogs.com/Free-Thinker/p/4868068.html
Copyright © 2011-2022 走看看