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
    }

}

我希望这有帮助!

以上是来客网为你收集整理的ios – 在Swift中设置活动标签栏项目的背景颜色全部内容,希望文章能够帮你解决ios – 在Swift中设置活动标签栏项目的背景颜色所遇到的程序开发问题。

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