【发布时间】:2017-11-23 08:37:09
【问题描述】:
我正在尝试向 UISlider 的左侧添加渐变,如下所示:
let gradientLayer = CAGradientLayer()
gradientLayer.frame = self.frame
gradientLayer.frame.size.height = self.trackHeight
gradientLayer.frame.origin = CGPoint.zero
gradientLayer.colors = [UIColor.blue, UIColor.red]
gradientLayer.startPoint = CGPoint(x: 0.0, y: 0.5)
gradientLayer.endPoint = CGPoint(x: 1.0, y: 0.5)
let trackImage = UIImage.imageWithLayer(layer: gradientLayer)
self.setMinimumTrackImage(trackImage, for: .normal)
UIImage 扩展:
class func imageWithLayer(layer: CALayer) -> UIImage {
UIGraphicsBeginImageContextWithOptions(layer.bounds.size, layer.isOpaque, 0.0)
layer.render(in: UIGraphicsGetCurrentContext()!)
let img = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
return img!
}
由于某种原因,当我运行应用程序时,我没有得到渐变,甚至没有得到任何颜色,它只是清晰的颜色 (alpha) 而不是渐变。
知道出了什么问题吗?
谢谢!
【问题讨论】:
-
@JitendraModi 这不是我问的...
-
用一张图片更新您的问题,该图片显示当拇指位于滑块中间和滑块最右端时您希望滑块的外观。
标签: ios cocoa-touch uiimage uislider