首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在覆盖函数Tabbar中更改tabBar背景色(tabBar: UITabBar,didSelectItem item: UITabBarItem!)

在覆盖函数Tabbar中更改tabBar背景色(tabBar: UITabBar,didSelectItem item: UITabBarItem!)
EN

Stack Overflow用户
提问于 2015-10-26 07:18:06
回答 2查看 702关注 0票数 0

我需要加载选项卡项目。在这里,我需要不同的背景色在不同的标签栏。我在didSelectItem中改变条形色调。但它的背景色并没有改变。当加载选项卡栏时,它工作正常。

这是我的密码

代码语言:javascript
复制
 override func viewDidLoad() {

         if(tabIndex == 1){
            UITabBar.appearance().tintColor = UIColor.whiteColor()
            UITabBar.appearance().barTintColor = Colors.TAB_BAR_ALBUM_BG_COLOR
            self.view.backgroundColor = Colors.TAB_BAR_ALBUM_BG_COLOR

        }else if(tabIndex == 2){
            UITabBar.appearance().tintColor = UIColor.whiteColor()
            UITabBar.appearance().barTintColor = Colors.TAB_BAR_ME_BG_COLOR
            self.view.backgroundColor = Colors.TAB_BAR_ME_BG_COLOR

        }
    }

加载选项卡颜色时,颜色很好。

代码语言:javascript
复制
override func tabBar(tabBar: UITabBar, didSelectItem item: UITabBarItem!) {

        UITabBar.appearance().tintColor = UIColor.whiteColor()

        if(item.tag == 1){
            UITabBar.appearance().barTintColor = Colors.TAB_BAR_ALBUM_BG_COLOR
            self.view.backgroundColor = Colors.TAB_BAR_ALBUM_BG_COLOR

        }else if(item.tag == 2){
            UITabBar.appearance().barTintColor = Colors.TAB_BAR_ME_BG_COLOR
            self.view.backgroundColor = Colors.TAB_BAR_ME_BG_COLOR

        }
    }

当更改选项卡项时,它不起作用。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-10-26 09:17:54

获得解决方案,在app委托中制作完全透明的UITabBar

代码语言:javascript
复制
[[UITabBar appearance] setBarTintColor:[UIColor clearColor]];
[[UITabBar appearance] setBackgroundImage:[UIImage new]];
[[UITabBar appearance] setShadowImage:[UIImage new]];
[[UITabBar appearance] setTintColor:[UIColor whiteColor]];

以及在didSelectItem上改变背景色

代码语言:javascript
复制
override func tabBar(tabBar: UITabBar, didSelectItem item: UITabBarItem!) {
    println(" selected index \(item.tag)")

    if(item.tag == 0){
        dismissViewControllerAnimated(true, completion: nil)
    }

    if(item.tag == 1){
        self.view.backgroundColor = Colors.TAB_BAR_ALBUM_BG_COLOR

    }else if(item.tag == 2){
        self.view.backgroundColor = Colors.TAB_BAR_ME_BG_COLOR

    }
}
票数 1
EN

Stack Overflow用户

发布于 2015-10-26 09:13:55

UITabBar.appearance().barTintColor = Colors.TAB_BAR_ME_BG_COLOR更改为tabBar.barTintColor = UIColor.yellowColor()。希望能帮上忙。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33340355

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档