0
见代码,接口传递的UIColor的方法和应用程序崩溃
@interface ColorPreview : UIView {
UIColor *backgroundColor;
}
@property (retain) UIColor *backgroundColor;
-(void) reDrawPreviewWith:(UIColor *)bgColor;
@end
实施
@implementation ColorPreview
@synthesize backgroundColor;
- (id)initWithFrame:(CGRect)frame {
if ((self = [super initWithFrame:frame])) {
// Initialization code
backgroundColor = [[UIColor alloc] init];
}
return self;
}
- (void)drawRect:(CGRect)rect {
............
//app crashes on this line
CGContextSetFillColorWithColor(context, [backgroundColor CGColor]);
NSLog(@"rect");
}
-(void) reDrawPreviewWith:(UIColor *)bgColor
{
backgroundColor = bgColor;
[self setNeedsDisplay];
}
- (void)dealloc {
[backgroundColor release];
[super dealloc];
}
@end
叫我的方法是这样
[preview reDrawPreviewWith:[UIColor colorWithRed:red green:green blue:blue alpha:1.0]];
你能重命名'backgroundColor'到别的东西吗?它与UIView自己的财产冲突。 – kennytm 2010-06-27 11:29:08