2017-05-17 7 views
1
- (void)drawRect:(CGRect)rect { 
    CGContextRef context = UIGraphicsGetCurrentContext(); 
    UIColor*aColor = [UIColor colorWithRed:2 green:191 blue:166 alpha:1]; 
    CGContextSetFillColorWithColor(context, aColor.CGColor); 
    CGContextAddArc(context, rect.size.width/2, rect.size.height/2, rect.size.height/2, 0, 2*3.1415926, 0); 
    CGContextDrawPath(context, kCGPathFill); 
} 

le code est utilisé pour dessiner un cercle, mais [UIColor colorWithRed:2 green:191 blue:166 alpha:1] travail does't tout [UIColor blackColor] fonctionne correctement.ne pouvez pas appliquer CGColor spécifique à CGContextSetFillColor

+0

essayer CGContextSetRGBFillColor (contexte, 2.0/255,0, 191,0/255,0, 166,0/255,0, 1.0); –

Répondre

3

Parce que + (UIColor *)colorWithRed:(CGFloat)red green:(CGFloat)green blue:(CGFloat)blue alpha:(CGFloat)alpha fonction utilise une gamme de 0.0 à 1.0 pour redgreenbluealpha attributs.

Votre code devrait être comme ça:

- (void)drawRect:(CGRect)rect { 
    CGContextRef context = UIGraphicsGetCurrentContext(); 
    UIColor*aColor = [UIColor colorWithRed:(2.0/255.0) green:(191.0/255.0) blue:(166.0/255.0) alpha:1]; 
    CGContextSetFillColorWithColor(context, aColor.CGColor); 
    CGContextAddArc(context, rect.size.width/2, rect.size.height/2, rect.size.height/2, 0, 2*3.1415926, 0); 
    CGContextDrawPath(context, kCGPathFill); 
}