ここではグラフィックプログラマーではないので、これをつまずこうとしています。私は 9 つの塗りつぶされた円を描画しようとしています。それぞれが異なる色で、それぞれに白い境界線があります。UIView のフレームは CGRectMake (0,0,60,60) です。添付画像を参照してください。
問題は、両側の境界線に「フラット スポット」ができることです。以下は私のコードです(UIViewサブクラスから):
- (void)drawRect:(CGRect)rect
{
CGRect borderRect = CGRectMake(0.0, 0.0, 60.0, 60.0);
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextSetRGBStrokeColor(context, 1.0, 1.0, 1.0, 1.0);
CGContextSetRGBFillColor(context, colorRed, colorGreen, colorBlue, 1.0);
CGContextSetLineWidth(context, 2.0);
CGContextFillEllipseInRect (context, borderRect);
CGContextStrokeEllipseInRect(context, borderRect);
CGContextFillPath(context);
}
drawRect で CGRectMake(0,0,56,56) に変更すると、上と左側だけにフラット スポットができ、下と右側はきれいに見えます。
誰かがこれを修正する方法を提案できますか? 境界線がUIViewによって切り取られているようですが、これについてあまり知らないので、修正方法が本当にわかりません。
グラフィックスの専門家からの提案に感謝します。