Quartzを使用してdrawRectメソッドをオーバーライドするカスタムUIViewを作成しました。私は最終的には、私はそれをしたいと思う方法を正確に動作させることができたが、私は頭を上げることができない、本当に独特な振る舞いがある。アルファに色あせたQuartz 2D描画UIView
私は=として定義されたカスタムUIViewのを使用する場合> (@interfaceのTagView:UIViewの) 1に設定し、それのアルファ値を持つ、それは私がそれを期待するとおりに描画します。
私が遭遇した問題は、ある特定の例では0.3のアルファを描画したいから、0.3にアルファベットのIBを追加したということです。私は、CGContextSetRGBStrokeColorとCGContextSetRGBFillColorを使用して、異なるRGB値を設定した多数のアーティファクトを描画します。これらはすべて3つのRGB値すべてに対してゼロ以外の値を設定しようとするまでうまく動作します。
私が使用しているかどうかを説明する: CGContextSetRGBStrokeColor(context、1,1,0,1); 私は黄色の線を得る。 私が使用している場合: CGContextSetRGBStrokeColor(context、1,1、0.001、1); 私は何も得られません。
RGB値の1つを0に設定している限り、それは満足していると思いますが、3つの値がすべてゼロでないと失敗します。また、ビューのアルファが1.0に設定されている場合(つまり、何も問題なく白を描画できます)、これはすべて正常に動作しています。
これを引き起こしている可能性や問題の診断方法について考えている人はいませんか?