一連のパスを CGContext にブロックとして描画する必要があります。これらのパスはユーザーが描いたものなので、方向を判断できません。次のコード スニペットを使用してパスを描画します。
CGContextSaveGState(context);
UIBezierPath *fillPath = [ UIBezierPath bezierPath ];
for ( UIBezierPath *path in arrayOfPaths ) {
[ fillPath appendPath:path ];
}
CGContextAddPath(context, fillPath.CGPath );
CGContextSetFillColorWithColor( context, [[UIColor GreenColor ] colorWithAlphaComponent:0.3 ].CGColor );
CGContextFillPath(context);
ただし、パスが逆方向に作成された場合、結果の図面は、重なり合うセクションがノックアウトされた図面を生成するように見えます。これは、偶奇規則を [はい] に設定するのと同じです。
助言がありますか?