目标C - UIBezierPath没有正确地描绘路径

时间:2014-07-17 11:23:23

标签: ios objective-c core-graphics uibezierpath

我正在尝试使用正在填充的Core Graphics创建一个圆圈,并在此处给出一个笔划,这是drawRect方法中的代码

    [color setFill];
    [[UIColor whiteColor] setStroke];

    UIBezierPath *path = [UIBezierPath bezierPathWithOvalInRect:rect];

    path.lineWidth = 1;
    [path fill];
    [path stroke];

我在另一个相同大小的视图中创建此视图。我遇到了一种奇怪的行为。我得到类似的输出

enter image description here

我做错了什么或我必须添加什么来使图画正确。我设置了[circleView setClipsToBounds:NO];但结果相同。

1 个答案:

答案 0 :(得分:1)

之所以发生这种情况,是因为您绘制了带有矩形的圆圈,其中的线条为1,从框架中抽出一半线条。尝试插入矩形:

CGRect r = CGRectInset(rect, 1, 1);
UIBezierPath *path = [UIBezierPath bezierPathWithOvalInRect:r];