相关疑难解决方法(0)

使用CGContextSetLineDash绘制一条虚线

我正在尝试画一条虚线CGContextSetLineDash.

这是我的代码:

float dashPhase = 0.0;
float dashLengths[] = {30, 30};
CGContextSetLineDash(context, dashPhase, dashLengths, 20.0);
self.previousPoint2 = self.previousPoint1;
self.previousPoint1 = previous;
self.currentPoint = current;

self.mid1 = [self pointBetween:self.previousPoint1 andPoint:self.previousPoint2];
self.mid2 = [self pointBetween:self.currentPoint andPoint:self.previousPoint1];

UIBezierPath* newPath = [UIBezierPath bezierPath];

[newPath moveToPoint:self.mid1];
[newPath addLineToPoint:self.mid2];
[newPath setLineWidth:self.brushSize];
Run Code Online (Sandbox Code Playgroud)

但是,如果我画得很慢,它们的虚线就不会出现(见下图的顶部),但如果我快速绘制,它们会出现(见下图底部).

在此输入图像描述

为什么会这样?

iphone objective-c cgcontext ios

7
推荐指数
1
解决办法
8891
查看次数

标签 统计

cgcontext ×1

ios ×1

iphone ×1

objective-c ×1