私がやっていることは、単純な長方形を描き、ペイントされた領域の色を設定することです
// Just added
@interface Gradient () {
CGColorRef lightBlueColor;
}
@implementation Gradient
-(id)initWithFrame:(CGRect)frame
{
self = [super initWithFrame:frame];
if (self) {
self.backgroundColor = [UIColor lightGrayColor];
NSLog(@"frame is %@",NSStringFromCGRect(self.frame));
NSLog(@"bound is %@",NSStringFromCGRect(self.bounds));
lightBlueColor = [UIColor colorWithRed:105.0f/255.0f green:179.0f/255.0f blue:216.0f/255.0f alpha:1.0].CGColor;
}
return self;
}
-(void) layoutSubviews {
paperRect = CGRectMake(10, 10, self.bounds.size.width/2, self.bounds.size.height/2);
}
-(void)drawRect:(CGRect)rect {
//Draw a retangle
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextSetFillColorWithColor(context, lightBlueColor);
CGContextFillRect(context, paperRect);
}
以下はシミュレーターに表示されるものです
ただし、デバイスにインストールしようとすると、EXC_BAD_ACCESSが発生します
質問 :
デバイスで機能しない理由。どこかで間違えましたか
編集:lightBlueColorを変更しようとしました
lightBlueColor = [UIColor blueColor] .CGColor;
次に、デバイスでアプリを実行できます。まったくわからない