微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ios – 在Swift中设置活动标签栏项目的背景颜色

我希望在没有使用图像的情况下完成此任务,如果可能的话.有没有办法以编程方式创建图像显示,而不必将每个选项卡作为图像呈现?

我在SO上审查过的每个问题都将标签保存为JPG,这比我觉得应该是更多的工作.

有任何想法吗?

解决方法

我对@matcartmill采取了类似的方法,但不需要特殊的图像.这个解决方案只是基于你的颜色.
// set red as selected background color
let numberOfItems = CGFloat(tabBar.items!.count)
let tabBarItemSize = CGSize(width: tabBar.frame.width / numberOfItems,height: tabBar.frame.height)
tabBar.selectionIndicatorImage = UIImage.imageWithColor(UIColor.redColor(),size: tabBarItemSize).resizableImageWithCapInsets(UIEdgeInsetsZero)

// remove default border
tabBar.frame.size.width = self.view.frame.width + 4
tabBar.frame.origin.x = -2

我正在使用UIImage的以下扩展名:

extension UIImage {

    class func imageWithColor(color: UIColor,size: CGSize) -> UIImage {
        let rect: CGRect = CGRectMake(0,size.width,size.height)
        UIGraphicsBeginImageContextWithOptions(size,false,0)
        color.setFill()
        UIRectFill(rect)
        let image: UIImage = UIGraphicsGetimageFromCurrentimageContext()
        UIGraphicsEndImageContext()
        return image
    }

}

我希望这有帮助!

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐