如何使用 swift 在 iOS 中的图像上实现黑色渐变
How to implement a black gradient on an image in iOS using swift
我正在做一个 iOS 项目,我在明亮的图像上有白色标签。问题在于白色标签未显示的明亮图像。这是一个例子:
我想如果我在所有图像上添加黑色渐变,那么白色标签将可见。谁能帮我解决 Swift 中的解决方案?
谢谢!
如果您想在 imageView
上添加渐变,那么您只需在 imageView.layer
上实现 CAGradientLayer
。
尝试为您自己的自定义外观更改一些值,但下面的代码就差不多了。
let gradientLayer = CAGradientLayer()
gradientLayer.frame = imageView.frame
let colors = [
UIColor(red: 0, green: 0, blue: 0, alpha: 1).cgColor,
UIColor(red: 0, green: 0, blue: 0, alpha: 0).cgColor
]
gradientLayer.startPoint = CGPoint(x: 0.1, y: 0.5)
gradientLayer.endPoint = CGPoint(x: 0.9, y: 0.5)
gradientLayer.colors = colors
imageView.layer.addSublayer(gradientLayer)
您可以更改颜色、添加颜色、更改 start/end-points。您可以在 youtube 或 google.
上找到许多不同的 CAGradientLayer
-指南
试试这个:
extension UILabel {
func lblShadow(color: UIColor , radius: CGFloat, opacity: Float){
self.textColor = color
self.layer.masksToBounds = false
self.layer.shadowRadius = radius
self.layer.shadowOpacity = opacity
self.layer.shadowOffset = CGSize(width: 1, height: 1)
self.layer.shouldRasterize = true
self.layer.rasterizationScale = UIScreen.main.scale
}
}
用法:
label.lblShadow(color: UIColor.white, radius: 3, opacity: 0.75)
我正在做一个 iOS 项目,我在明亮的图像上有白色标签。问题在于白色标签未显示的明亮图像。这是一个例子:
我想如果我在所有图像上添加黑色渐变,那么白色标签将可见。谁能帮我解决 Swift 中的解决方案?
谢谢!
如果您想在 imageView
上添加渐变,那么您只需在 imageView.layer
上实现 CAGradientLayer
。
尝试为您自己的自定义外观更改一些值,但下面的代码就差不多了。
let gradientLayer = CAGradientLayer()
gradientLayer.frame = imageView.frame
let colors = [
UIColor(red: 0, green: 0, blue: 0, alpha: 1).cgColor,
UIColor(red: 0, green: 0, blue: 0, alpha: 0).cgColor
]
gradientLayer.startPoint = CGPoint(x: 0.1, y: 0.5)
gradientLayer.endPoint = CGPoint(x: 0.9, y: 0.5)
gradientLayer.colors = colors
imageView.layer.addSublayer(gradientLayer)
您可以更改颜色、添加颜色、更改 start/end-points。您可以在 youtube 或 google.
上找到许多不同的CAGradientLayer
-指南
试试这个:
extension UILabel {
func lblShadow(color: UIColor , radius: CGFloat, opacity: Float){
self.textColor = color
self.layer.masksToBounds = false
self.layer.shadowRadius = radius
self.layer.shadowOpacity = opacity
self.layer.shadowOffset = CGSize(width: 1, height: 1)
self.layer.shouldRasterize = true
self.layer.rasterizationScale = UIScreen.main.scale
}
}
用法:
label.lblShadow(color: UIColor.white, radius: 3, opacity: 0.75)