iOS の UIView で四角形を描画している間、同じ問題が発生し続けます。四角形の余白が背景と色をブレンドします。ベジェ パスを使用し、1 行ずつ描画し、余白を描画し、四角形の内部を塗りつぶして、いくつかの四角形の描画方法を試しましたが、結果は同じでした。
ビューのフレーム自体は常に正しく描画されます。四角形が必要なときはいつでもビューを使用することを検討しましたが、それらの多くを描画する必要があるため、特別なことを行う正しい方法とは思えません。
これが私の問題の例です。比較のために、同じ寸法の長方形の緑色のビューを描いています。
CGRect horizontalBar = CGRectMake(2, 2, 10, 6);
UIView* horizontalBarSubView = [[UIView alloc] initWithFrame:horizontalBar];
horizontalBarSubView.backgroundColor = [UIColor greenColor];
[self addSubview:horizontalBarSubView];
[horizontalBarSubView release];
そして長方形自体について:
CGRect horizontalBar = CGRectMake(2, 20, 10, 6);
UIBezierPath* horizontalBarPath = [UIBezierPath bezierPathWithRect:horizontalBar];
[[UIColor greenColor] set];
[horizontalBarPath fill];
これにより、次の結果が得られます (10 倍ズーム)。
色が混ざる原因は何ですか?
どうすればこれを回避できますか?