UIBezierPathを使用して、UIView(背景は透明です)に描画線を実装しました。
線を引くために、- (void)drawRect:(CGRect)rect
メソッドで次のコードを使用しました:-
UIBezierPath *_path = [pathArray objectAtIndex:0];
[currentColor setStroke];
[_path strokeWithBlendMode:kCGBlendModeNormal alpha:1.0];
ここで、pathArray は複数の UIBezierPath オブジェクトの配列です。
描画を消去するために、- (void)drawRect:(CGRect)rect
メソッドで次のコードを使用しました:-
UIBezierPath *_path = [pathArray objectAtIndex:10];
[[UIColor clearColor] setStroke];
[_path strokeWithBlendMode:kCGBlendModeClear alpha:1.0];
上記の両方のメソッドは、透明な UIView で描画しているときにうまく機能します。しかし、白い背景色の UIView で描画しているときに、描画を消去した場所に黒い色が表示されます。図面ビューのスクリーンショットのキャプチャ中にも同じ問題が発生しました。解決策はありますか?
同じ図面の次のスクリーンショットを参照してください。明確になります。