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