iOS 自定义UITabbarController中的item (swift)

第三篇
iOS 中的uitabbarcontroller中的标签栏,默认都加了灰色背景,网上也有很多解决方法的贴子,不过找的时候经常找的不全,特此记录在此,方便以后查阅。

在xcode中的属性设置中,设置整个标签栏的背景色属性为Bar Tint,其他属性真心感觉达不到自己的效果,原因是自己技术菜了,不纠结了,项目开发时间可没给我那么多时间去纠结,直接暴力来解决,自定义一个controller继承uitabbarcontroller,重写方法awakeFromNib,在此方法中设置tabbar的各个状态的图片与字体颜色,效果如图:

图片显示效果真心不行

然后在storyboard中关联自定义的tabbarcontroller。
图片不方便复制了,源代码如下,不过源代码显示效果也不咋的:

override func awakeFromNib() {
        super.awakeFromNib()

        //定义背景色
        tabBar.barTintColor = UIColor(red: 241.0/255.0, green: 56.0/255.0, blue: 0.0, alpha: 0.0)
        //定义选中时的背景色
        var selectedColor = UIColor(red: 250.0/255.0, green: 243.0/255.0, blue: 0.0, alpha: 1.0)
        var item = tabBar.items![0] as! UITabBarItem
        item.image = UIImage(named: "tabactive")?.imageWithRenderingMode(UIImageRenderingMode.AlwaysOriginal)
        item.selectedImage = UIImage(named: "tabactive1")?.imageWithRenderingMode(UIImageRenderingMode.AlwaysOriginal)
        item.setTitleTextAttributes([NSForegroundColorAttributeName:UIColor.whiteColor()], forState: UIControlState.Normal)
        item.setTitleTextAttributes([NSForegroundColorAttributeName:selectedColor], forState: UIControlState.Selected)

        item = tabBar.items![1] as! UITabBarItem
        item.image = UIImage(named: "tabhouse")?.imageWithRenderingMode(UIImageRenderingMode.AlwaysOriginal)
        item.selectedImage = UIImage(named: "tabhouse1")?.imageWithRenderingMode(UIImageRenderingMode.AlwaysOriginal)
        item.setTitleTextAttributes([NSForegroundColorAttributeName:UIColor.whiteColor()], forState: UIControlState.Normal)
        item.setTitleTextAttributes([NSForegroundColorAttributeName:selectedColor], forState: UIControlState.Selected)

        item = tabBar.items![2] as! UITabBarItem
        item.image = UIImage(named: "tabagent")?.imageWithRenderingMode(UIImageRenderingMode.AlwaysOriginal)
        item.selectedImage = UIImage(named: "tabagent1")?.imageWithRenderingMode(UIImageRenderingMode.AlwaysOriginal)
        item.setTitleTextAttributes([NSForegroundColorAttributeName:UIColor.whiteColor()], forState: UIControlState.Normal)
        item.setTitleTextAttributes([NSForegroundColorAttributeName:selectedColor], forState: UIControlState.Selected)

        item = tabBar.items![3] as! UITabBarItem
        item.image = UIImage(named: "tabme")?.imageWithRenderingMode(UIImageRenderingMode.AlwaysOriginal)
        item.selectedImage = UIImage(named: "tabme1")?.imageWithRenderingMode(UIImageRenderingMode.AlwaysOriginal)
        item.setTitleTextAttributes([NSForegroundColorAttributeName:UIColor.whiteColor()], forState: UIControlState.Normal)
        item.setTitleTextAttributes([NSForegroundColorAttributeName:selectedColor], forState: UIControlState.Selected)

    }
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值