我正在尝试为我的视图创建自定义按钮。一切正常,除了在渲染时我收到关于我的颜色的异常。我的班级有 2 个颜色属性:
@property (nonatomic, retain) UIColor* defaultBackground;
@property (nonatomic, retain) UIColor* clickedBackground;
一种表示默认渲染颜色,另一种表示用户单击时的颜色。在我的 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'
任何想法将不胜感激。