drawRect() メソッドの UIView を「元に戻したポリゴン」で塗りつぶす必要があります。ビュー内のすべてが、ポリゴン自体を除くいくつかの色で塗りつぶされます。
単純なポリゴンを描画するための次のコードがあります。
CGContextBeginPath(context);
for(int i = 0; i < corners.count; ++i)
{
CGPoint cur = [self cornerAt:i], next = [self cornerAt:(i + 1) % corners.count];
if(i == 0)
CGContextMoveToPoint(context, cur.x, cur.y);
CGContextAddLineToPoint(context, next.x, next.y);
}
CGContextClosePath(context);
CGContextFillPath(context);
同様の質問を見つけましたが、Obj-C ではなく C# で: c# は GraphicsPath 以外のすべてを埋めます