小编Wil*_*ake的帖子

标签栏的底部颜色不正确

我想在我的自定义 UITabController 子类中自定义标签栏元素的颜色,当我使用以下方法时它可以正常工作:( tabBar.barTintColor = .blue使用任何系统或自定义颜色)

但是当我尝试使用我的自定义 UIImage 扩展添加渐变时

extension UIImage {
    static func gradientImageWithBounds(bounds: CGRect, colors: [CGColor]) -> UIImage {
        let gradientLayer = CAGradientLayer()

        gradientLayer.frame = bounds
        gradientLayer.colors = colors
        gradientLayer.startPoint = CGPoint(x: 0.5, y: 0.0)
        gradientLayer.endPoint = CGPoint(x: 0.5, y: 1.0)
        gradientLayer.masksToBounds = true

        UIGraphicsBeginImageContext(gradientLayer.bounds.size)
        gradientLayer.render(in: UIGraphicsGetCurrentContext()!)
        let image = UIGraphicsGetImageFromCurrentImageContext()
        UIGraphicsEndImageContext()
        return image!
    }
}

tabBar.barTintColor = UIColor(patternImage: UIImage.gradientImageWithBounds(bounds: tabBar.bounds, colors: [Colors.tabBarTopGradient, Colors.tabBarBottomGradient]))
Run Code Online (Sandbox Code Playgroud)

我遇到了渐变无法正确应用于手机安全区域周围标签栏底部的问题。我在这里缺少什么?它看起来像这样:在此处输入图片说明

iphone objective-c ios swift

1
推荐指数
1
解决办法
84
查看次数

标签 统计

ios ×1

iphone ×1

objective-c ×1

swift ×1