如何绘制一个带有数字/字符串的磁盘?

时间:2016-02-06 23:01:14

标签: ios swift core-graphics

我想画出这样的东西:enter image description here

到目前为止,我知道如何绘制磁盘,我使用这种方法:

func drawDisk(color: UIColor, rectForDisk: CGRect = CGRectMake(0.0, 0.0, 1.0, 1.0), withStroke: Bool) -> UIImage {
    UIGraphicsBeginImageContextWithOptions(rectForDisk.size, false, 0.0)
    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, withStroke ? 1.0 : 0)
    CGContextSetStrokeColorWithColor(context,
        UIColor.blackColor().CGColor)
    CGContextAddEllipseInRect(context, rectForCircle)
    CGContextStrokePath(context)

    let image = UIGraphicsGetImageFromCurrentImageContext()
    UIGraphicsEndImageContext()

    return image
}

我不知道要做的是在我的绘图中添加一些文字。我甚至不确定它是否可行。我想在它上面添加一个标签,但我想知道是否有更好/更合适的方式。

1 个答案:

答案 0 :(得分:1)

执行所需操作的一种简单方法是单独使用标签,并设置其图层的角半径并设置背景颜色。还要将图层设置为剪辑。如果您正确选择了圆角半径,则可以使用圆形标签,如果它包含的文本需要,它将变为长圆形气泡。