絵を描くために使っているプロジェクトに取り組んでいUIBezierPath
ます。私の問題は、パスの色を変更すると、全体UIBezierPath
の色が変わることです。UIBezierPath
複数の線で色を変えられるのか聞いてみたいです。
よろしく
絵を描くために使っているプロジェクトに取り組んでいUIBezierPath
ます。私の問題は、パスの色を変更すると、全体UIBezierPath
の色が変わることです。UIBezierPath
複数の線で色を変えられるのか聞いてみたいです。
よろしく
1つのUIBezierパスの場合、AFAIKはできません
あなたはこのようなことをすることができます
/////これをdrawRectに追加します
for (NSMutableDictionary *dic in pathArray) {
UIBezierPath *_path = [dic valueForKey:@"path"];
[[dic valueForKey:@"fColor"] setFill];
[[dic valueForKey:@"sColor"] setStroke];
[_path stroke];
}
タッチイベントでの配列の入力
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
self.currentPath=[[UIBezierPath alloc]init];
self.currentPath.lineWidth=5;
self.currentPath.miterLimit=-10;
self.currentPath.lineCapStyle = kCGLineCapRound;
self.currentPath.flatness = 0.0;
UITouch *mytouch=[[touches allObjects] objectAtIndex:0];
[self.currentPath moveToPoint:[mytouch locationInView:self]];
NSMutableDictionary *dic = [[NSMutableDictionary alloc] init];
[dic setObject:currentfColor forKey:@"fColor"];
[dic setObject:currentsColor forKey:@"sColor"];
[dic setObject:self.currentPath forKey:@"path"];
[pathArray addObject:dic];
}
- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event {
UITouch *touch = [touches anyObject];
[self.currentPath addLineToPoint:[touch locationInView:self.view]];
[self.view setNeedsDisplay];
}
PS:これはほんの一例です。私はこのコードをチェックしていませんが、動作するはずですが、いくつかの変更が必要な場合があります。