我已经使用创建了一个圆圈CGContextFillEllipseInRect
from CoreGraphic
.
我正在使用这个圆圈(实际上是一个磁盘)来替换thumbImage
of an UISlider
。默认情况下应用抗锯齿。
但我的 iPhone 6 上的结果显然不好。我可以清楚地看到像素,虽然没有抗锯齿关闭时那么多,但比普通 UISlider 的像素要多得多。
也许我做错了什么。所以我的问题是,有没有一种方法可以通过编程方式获得与 UISlider 默认使用的磁盘相同的好磁盘?
EDIT:
以下是我创建磁盘的方法:
class func drawDisk(rgbValue:UInt32, rectForDisk: CGRect = CGRectMake(0.0, 0.0, 1.0, 1.0)) -> UIImage {
let color = uicolorFromHex(rgbValue)
UIGraphicsBeginImageContext(rectForDisk.size)
let context = UIGraphicsGetCurrentContext()
CGContextSetFillColorWithColor(context, color.CGColor)
CGContextFillEllipseInRect(context, rectForDisk)
let rectForCircle = CGRectMake(0.5, 0.5, rectForDisk.size.width - 1, rectForDisk.size.height - 1)
CGContextSetLineWidth(context, 1.0)
CGContextSetStrokeColorWithColor(context,
UIColor.blackColor().CGColor)
CGContextAddEllipseInRect(context, rectForCircle)
CGContextStrokePath(context)
let image = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
return image
}