tabBar 选中默认蓝色 ,取消选中(自定义)

Posted 原码

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了tabBar 选中默认蓝色 ,取消选中(自定义)相关的知识,希望对你有一定的参考价值。

- (void)viewDidLoad {

    [super viewDidLoad];

 

//    [self _initSubViewControllers];

//    [self _customTabBar];

    

//    [self.navigationItem setRightBarButtonItem:UIBarStyleDefault];

//    self.SerBar=[[UISearchBar alloc]initWithFrame:CGRectMake(self.view.frame.size.width-150, 20, 120, 40)];

    

    //    [self.SerBar setPlaceholder:@"search"];

//    [self.SerBar setPrompt:@"搜索"];//顶部提示文本,title

//    [self.SerBar setBarStyle:UIBarStyleBlackTranslucent];//搜索框样式

//    [self.SerBar setTintColor:[UIColor whiteColor]];

    

//    [self.SerBar setShowsBookmarkButton:NO];

    

//    [self.SerBar setTranslucent:YES];//透明

//    [self.view addSubview:self.SerBar];

////    方法二

    NSMutableDictionary *attrs=[NSMutableDictionary dictionary];

    //设置字体大小

    attrs[NSFontAttributeName]=[UIFont systemFontOfSize:13];

    

    //设置字体颜色

    attrs[NSForegroundColorAttributeName]=[UIColor colorWithRed:0.4 green:0.4 blue:0.6 alpha:1];

    

    //初始化一个字典

    NSMutableDictionary *Selectedattrs=[NSMutableDictionary dictionary];

    //设置字体大小

    Selectedattrs[NSFontAttributeName]=attrs[NSFontAttributeName];

    //设置字体颜色

    Selectedattrs[NSForegroundColorAttributeName]=[UIColor colorWithRed:0.3 green:0.5 blue:0.6 alpha:1];

    UITabBarItem *item=  [UITabBarItem appearance];

    

    [item setTitleTextAttributes:attrs forState:UIControlStateNormal];

    [item setTitleTextAttributes:Selectedattrs forState:UIControlStateSelected];

    //添加子控制器

    

    [self setupchidVc:[HomeViewController new] title:@"主页" image:@"-1.png" selectedimage:@"T1"];

    

    [self setupchidVc:[DSDieQuoteViewController new] title:@"模报" image:@"-2.png" selectedimage:@"T2"];

    

    [self setupchidVc:[WXViewController new]  title:@"校谈" image:@"-3.png" selectedimage:@"T3"];

    

    

}

//-(void)_customTabBar{

//    

//    for (UIView *subView in self.tabBar.subviews) {

//        //        移除

//        [subView removeFromSuperview];

//    }

 

//    底部图片

//    [self.tabBar setBackgroundImage:[UIImage imageNamed:@"1.111png"]];

//    //    创建背景选中的图片

//    _selectV = [[UIImageView alloc]initWithFrame:CGRectMake(0, 0, 42, 42)];

////    按钮图片

//    _selectV.image = [UIImage imageNamed:@"selectTabbar_bg_all.png"];

//    

//    [self.tabBar addSubview:_selectV];

    // 创建标签栏按钮

    //    获取所有按钮的图片

//    NSArray *imageNames = @[@"-1.png",@"-2.png",@"-3.png"];

//    NSArray *titles = @[@"主页",@"模报",@"校谈"];

    // 创建按钮

//    float button_width = self.view.frame.size.width / imageNames.count;

//    for (int i = 0; i < imageNames.count; i++) {

//        // 创建按钮

//        DSTabBarItem *item = [[DSTabBarItem alloc] initWithFrame:CGRectMake(i * button_width, 0, button_width, 49)];

//        // 设置tag

//        item.tag = i;

//        // 设置标题

//        item.titleName = titles[i];

//        // 设置图片

//        item.imageName = imageNames[i];

//        // 添加事件

//        [item addTarget:self action:@selector(itemAction:) forControlEvents:UIControlEventTouchUpInside];

//        

//        [self.tabBar addSubview:item];

        // 如果当前创建的是第一个按钮

//        if (i == 0) {

//            _selectV.center = item.center;

//        }

    

        

//    }

//}

-(void)setupchidVc:(UIViewController *)vc title:(NSString *)title image:(NSString *)image  selectedimage:(NSString *)selectedimage

{

    vc.tabBarItem.title=title;

    vc.tabBarItem.image=[UIImage imageNamed:image];

    vc.tabBarItem.selectedImage=[UIImage imageNamed:selectedimage];

    [self addChildViewController:vc];

    

    //取消选中时的背景色

    vc.tabBarItem.selectedImage = [vc.tabBarItem.selectedImage imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];

}

 

以上是关于tabBar 选中默认蓝色 ,取消选中(自定义)的主要内容,如果未能解决你的问题,请参考以下文章

自定义 UITabBar 未选中项的颜色

自定义TabBar

当我取消选中自定义树视图中的子节点复选框时,如何取消选中所有父节点

默认选项卡未将第一个选项卡显示为已选中

自定义单选按钮:如何取消选中? (复选框黑客)[重复]

iOS 自定义滑动切换TabBar