IOS 8标签栏项目背景颜色

IOS 8标签栏项目背景颜色,第1张

概述我一直在试图找到最后一周的解决方案,在尝试我可以找到或想到的所有可能的解决方案后,我都没有运气.我发现和尝试的每个解决方案都没有工作,或者已经过时了. 我在UITabBarController中的UITabBar中有5个UITabBarItem.当选择UITabBarItem时,我想更改背景颜色,当然,当所选项目更改时,它将会更改. 我在Xcode 6.3.1中使用Swift和iOS SDK 8. 我一直在试图找到最后一周的解决方案,在尝试我可以找到或想到的所有可能的解决方案后,我都没有运气.我发现和尝试的每个解决方案都没有工作,或者已经过时了.

我在UITabbarController中的UITabbar中有5个UITabbarItem.当选择UITabbarItem时,我想更改背景颜色,当然,当所选项目更改时,它将会更改.

我在Xcode 6.3.1中使用Swift和iOS SDK 8.3.如果您只能在Objective-C中答案,那么任何答案都将有所帮助!谢谢大家提前,我真的很感激!

编辑:这是我想要做的一个视觉示例.

Different Background Color

解决方法 在您的tabbarController中,您可以设置默认的UITabbar tintcolor,barTintcolor,selectionIndicatorImage(在这里作弊)和renderingMode的图像,请参阅以下注释:
class MyTabbarController: UITabbarController,UINavigationControllerDelegate {      ...      overrIDe func vIEwDIDLoad() {        ...        // Sets the default color of the icon of the selected UITabbarItem and Title        UITabbar.appearance().tintcolor = UIcolor.redcolor()        // Sets the default color of the background of the UITabbar        UITabbar.appearance().barTintcolor = UIcolor.blackcolor()        // Sets the background color of the selected UITabbarItem (using and plain colored UIImage with the wIDth = 1/5 of the tabbar (if you have 5 items) and the height of the tabbar)        UITabbar.appearance().selectionIndicatorImage = UIImage().makeImageWithcolorAndSize(UIcolor.bluecolor(),size: CGSizeMake(tabbar.frame.wIDth/5,tabbar.frame.height))        // Uses the original colors for your images,so they aren't not rendered as grey automatically.        for item in self.tabbar.items as! [UITabbarItem] {          if let image = item.image {            item.image = image.imageWithRenderingMode(.AlwaysOriginal)          }        }      }      ...    }

并且您将需要扩展UIImage类以使您需要的大小为纯色图像:

extension UIImage {  func makeImageWithcolorAndSize(color: UIcolor,size: CGSize) -> UIImage {    UIGraphicsBeginImageContextWithOptions(size,false,0)    color.setFill()    UIRectFill(CGRectMake(0,size.wIDth,size.height))    var image = UIGraphicsGetimageFromCurrentimageContext()    UIGraphicsEndImageContext()    return image  }}
总结

以上是内存溢出为你收集整理的IOS 8标签项目背景颜色全部内容,希望文章能够帮你解决IOS 8标签栏项目背景颜色所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1112100.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-29
下一篇 2022-05-29

发表评论

登录后才能评论

评论列表(0条)

保存