gpt4 book ai didi

ios - 在 Swift 中设置事件选项卡栏项目的背景颜色

转载 作者:IT王子 更新时间:2023-10-29 05:11:43 28 4
gpt4 key购买 nike

如果可能的话,我希望在不使用图像的情况下完成这项工作。有没有办法以编程方式创建图像中显示的效果,而不必将每个选项卡渲染为图像?

我在 SO 上审阅过的每个问题都将选项卡保存为 JPG,这比我认为应该做的要多。

有什么想法吗? Tab Bar

最佳答案

我采用了与@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(color: UIColor.red, size: tabBarItemSize).resizableImage(withCapInsets: UIEdgeInsets.zero)

// 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, 0, size.width, size.height)
UIGraphicsBeginImageContextWithOptions(size, false, 0)
color.setFill()
UIRectFill(rect)
let image: UIImage = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
return image
}

}

希望对您有所帮助!

swift 4

extension UIImage {

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

关于ios - 在 Swift 中设置事件选项卡栏项目的背景颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29045147/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com