Próbuję narysować linię przerywaną z CGContextSetLineDash
.Rysowanie linii przerywanej za pomocą CGContextSetLineDash
Oto mój kod:
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];
Jednak jeśli rysuję powoli, że linie przerywane nie pojawiają się (patrz szczyt obrazek poniżej), ale jeśli rysuję szybko, że nie pojawiają się (patrz spód obrazka poniżej).
Dlaczego tak się dzieje?
Nie widzę, jak jest to związane z Xcode. –