UIBezierPath zeichnet keine glatte Kurve
Ich benutze UIBezierPath zum Zeichnen, und ich habe den Code für Berührungsereignisse geschrieben und er funktioniert einwandfrei, aber meine Kurven sind nicht glatt. Wenn ich meinen Finger bewege und eine Kurve zeichne, sind sie nicht glatt.
- (void)drawRect:(CGRect)rect
{
[[UIColor redColor] setStroke];
for (UIBezierPath *_path in pathArray)
[_path strokeWithBlendMode:kCGBlendModeNormal alpha:1.0];
}
#pragma mark - Touch Methods
-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
myPath=[[UIBezierPath alloc]init];
myPath.lineWidth=5;
myPath.lineCapStyle = kCGLineCapRound;
myPath.flatness = 0.0;
UITouch *mytouch=[[touches allObjects] objectAtIndex:0];
[myPath moveToPoint:[mytouch locationInView:self]];
[pathArray addObject:myPath];
}
-(void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event
{
UITouch *mytouch=[[touches allObjects] objectAtIndex:0];
[myPath addLineToPoint:[mytouch locationInView:self]];
[self setNeedsDisplay];
}
Hier ist das Bild
Im obigen Bild sehen Sie, wenn Sie die Buchstaben a und d sehen, dass die Kurve nicht glatt ist. Was soll ich tun, um eine glatte Kurve zu erhalten?