ビューのカスタムボタンを作成しようとしています。レンダリングするときを除いて、すべてがうまく機能します。色に関して例外がスローされます。私のクラスには2つの色のプロパティがあります。
@property (nonatomic, retain) UIColor* defaultBackground;
@property (nonatomic, retain) UIColor* clickedBackground;
1つはデフォルトのレンダリング色を表し、もう1つはユーザーがクリックしたときの色を表します。initWithFrameメソッド内で、色を初期化します。
defaultBackground = [UIColor colorWithRed:1.0 green:1.0 blue:1.0 alpha:1.0];
clickedBackground = [UIColor colorWithRed:0.5 green:0.5 blue:0.5 alpha:1.0];
CGColorを取得するときに例外がスローされるレンダリングに到達するまで、これはすべてうまくいきます。
if((self.state & UIControlStateHighlighted) == 0)
{
CGContextSaveGState(context);
CGContextSetFillColorWithColor(context, defaultBackground.CGColor); //Crashes on this line
...
これが私が得ている例外です:
2012-04-13 10:19:51.005 -[__NSMallocBlock__ CGColor]: unrecognized selector sent to instance 0x7d94d20
2012-04-13 10:19:51.072 *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSMallocBlock__ CGColor]: unrecognized selector sent to instance 0x7d94d20'
任意のアイデアをいただければ幸いです。