我在UIView的drawRect函数中绘制一个径向渐变,这很简单,我遇到的问题是在设备上(iPhone 6S plus)渐变质量非常差。
你知道为什么吗?
编辑:如果我的视图或颜色的alpha值小于1.0,我注意到渐变是坏的。
private func updateGradient() {
let colorSpace = CGColorSpaceCreateDeviceRGB()
let colors:[CGColor] = [haloColor.CGColor, UIColor.clearColor().CGColor]
gradient = CGGradientCreateWithColors(colorSpace, colors, [0.0,0.8])
setNeedsDisplay()
}
override public func drawRect(rect: CGRect) {
if let gradient = self.gradient {
let context = UIGraphicsGetCurrentContext()
let options: CGGradientDrawingOptions = [.DrawsAfterEndLocation]
let center = CGPoint(x: bounds.midX, y: -70)
CGContextDrawRadialGradient(context, gradient, center, 0, center, size.height*3, options)
}
}