美文网首页
iOS 关于 TabBarController 的一些设置

iOS 关于 TabBarController 的一些设置

作者: Sparkle_S | 来源:发表于2016-08-19 15:00 被阅读0次

    在使用系统 tabbar 时,你会在 TabBarController 的 viewDidLoad 方法中创建 tabbar 所要管理的视图控制器对象, 如果需求所要求的 tabbaritem 和 title 在选中和未选中状态下均为纯色,你便可以使用以下代码简单快捷的完成

          /*
           tabbaritem 的 normalimage(默认灰色) 和 selectedimage(默认蓝色)
           1.normalimage 和 selectedimage 使用同一张图片,不要求颜色
           1.normalimage (和 normalText )使用默认灰色
           2.selectedimage (和 selectedText )通过 tabbar.tintcolor 统一控制
           */
          
          let sbArray = ["First","Second"]
          let vcArray = ["FirstController","SecondController"]
          let titleArray = ["首页","分类"]
          for i in 0..<sbArray.count {
            let viewCtrl = UIStoryboard(name: sbArray[i],bundle: NSBundle.mainBundle()).instantiateViewControllerWithIdentifier(vcArray[i])
            let imageStr = "tabbar_"+String(i)
            viewCtrl.tabBarItem = UITabBarItem(title: titleArray[i], image: UIImage(named: imageStr), selectedImage: UIImage(named:imageStr))
            self.addChildViewController(UINavigationController(rootViewController:viewCtrl))
          }
          self.tabBar.tintColor = UIColor.orangeColor()
    

    如果需求所要求的 tabbaritem 或 title 在选中或未选中状态下不为纯色,或者你更倾向于使用 UI 提供的选中和未选中状态下的原生图片,你便可以通过以下代码完成

          /*
           tabbaritem 的 normalimage(默认灰色) 和 selectedimage(默认蓝色)
           1.normalimage 和 selectedimage 分别使用对应图片,并指定其渲染模式为 AlwaysOriginal
           2.normalText (默认灰色)和 selectedText 通过 TitleTextAttributes 控制颜色
           */
          let sbArray = ["Home","Classify","Discover","Mine"]
          let vcArray = ["HomeController","ClassifyController","DiscoverController","MineController"]
          let titleArray = ["首页","分类","发现","我的"]
          for i in 0..<sbArray.count {
            let viewCtrl = UIStoryboard(name: sbArray[i],bundle: NSBundle.mainBundle()).instantiateViewControllerWithIdentifier(vcArray[i])
            let normalImageStr = "tabbar_normal_"+String(i)
            let selectedImageStr = "tabbar_selected_"+String(i)
            viewCtrl.tabBarItem = UITabBarItem(title: titleArray[i], image: UIImage(named: normalImageStr)?.imageWithRenderingMode(.AlwaysOriginal), selectedImage: UIImage(named:selectedImageStr)?.imageWithRenderingMode(.AlwaysOriginal))
            self.addChildViewController(UINavigationController(rootViewController:viewCtrl))
          }
          UITabBarItem.appearance().setTitleTextAttributes([NSForegroundColorAttributeName:UIColor.init(red: 243/255, green: 62/255, blue: 27/255, alpha: 1.0)], forState: UIControlState.Selected)
    

    期待你的评论建议O(∩_∩)O~

    相关文章

      网友评论

          本文标题:iOS 关于 TabBarController 的一些设置

          本文链接:https://www.haomeiwen.com/subject/oyubsttx.html