【问题标题】:Objective C - UIBezierPath is not stroking path properly [duplicate]Objective C - UIBezierPath 没有正确地抚摸路径[重复]
【发布时间】:2014-07-17 11:23:22
【问题描述】:

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

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

    UIBezierPath *path = [UIBezierPath bezierPathWithOvalInRect:rect];

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

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

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

【问题讨论】:

  • 可能是帧大小问题。请提供drawRect:的完整代码
  • 你可以稍微增加画布大小。

标签: ios objective-c core-graphics uibezierpath


【解决方案1】:

发生这种情况是因为您使用带有 1 的线绘制带有矩形的圆形,该线将一半的线从框架中绘制出来。尝试插入矩形:

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

【讨论】:

  • 感谢它的解释 :)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-08-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-04-07
  • 1970-01-01
相关资源
最近更新 更多