iOS アプリ (私UIControl
は iOS 4.3 を使用しています) にサブクラスがあり、サブクラスの一部は「setButtonColor:(UIColor)bc」というメソッドです。コードからこのメソッドを呼び出すと、問題なく動作します...ただし、greenColor や redColor などの組み込みの色を使用する場合のみです。「colorWithRed:green:blue:alpha
,」を使用して独自の色を作成すると、コンソールに次のメッセージが表示されてクラッシュします。
-[UIDeviceRGBColor set]: message sent to deallocated instance 0x4e61560
setButtonColor: メソッドは次のとおりです。
-(void)setButtonColor:(UIColor *)bc{
buttonColor = bc;
[self setNeedsDisplay];
}
を削除setNeedsDisplay
してもクラッシュしませんが、ボタンの色は本来のように変わりません。なぜこれが起こっているのかについて洞察を持っている人がいれば、本当に感謝します。詳細が必要な場合は、尋ねてください.
編集:もう少し調べてみました。-drawRect メソッドでは、[buttonColor セット] を呼び出します。それをコメントアウトすると、クラッシュしなくなりますが、ボタンの色も変わりません。
前もって感謝します、
しんしん