2015-11-10 2 views
0

J'ai dessiné une ligne en utilisant drawRect. Maintenant, je veux changer la couleur de celui-ci.Modification des couleurs de drawRect

Exemple de code: self.pattern.backgroundColor = [UIColor clearColor];

Je dois être en mesure de changer la couleur de la drawRect comme ce code. Je suis coincé sur la deuxième partie du code.

self. ? . backgroundColor: Les points d'interrogation est l'endroit où je suis bloqué. Que dois-je mettre là pour un drawRect?

Voici une partie de mon drawRect aussi:

- (void)drawRect:(CGRect)rect { 

    CGContextRef context = UIGraphicsGetCurrentContext(); 

    // Setup background 
    //CGFloat components1[] = {0.0, 0.0, 0.0, 1.0}; 
    //CGColorSpaceRef colorspace1 = CGColorSpaceCreateDeviceRGB(); 
    ////CGColorRef black = CGColorCreate(colorspace1, components1); 
    //CGContextSetFillColorWithColor(context,black); 
    //CGContextSetRGBFillColor(context,0.0,0.0,0.0,1.0); 

    // 1 pixel: iphone 6 the point = 0.5 and 6 plus = 0.333333; 
    //CGFloat point =1.f/[UIScreen mainScreen].scale; 
    CGFloat point =width/[UIScreen mainScreen].scale; 
    CGContextSetLineWidth(context,point); 
    CGColorSpaceRef colorspace = CGColorSpaceCreateDeviceRGB(); 

    CGFloat red [] = {1.0, 0.0, 0.0, 1.0}; // green 
    CGFloat green [] = {0.0, 1.0, 0.0, 1.0}; // green 
    CGColorRef color = CGColorCreate(colorspace, green); 

    CGContextBeginPath(context); 
    if(bFirstLine && bAlter) 
    { 
     CGColorRef colorR = CGColorCreate(colorspace, red); 
     CGContextSetStrokeColorWithColor(context, colorR); 
    } 
} 

Répondre

0
[[UIColor redColor] setFill]; // to set the color for fillings 
[[UIColor redColor] setStroke]; // to set the color for strokes 

et dans votre cas (si je vous ai à droite):

[self.backgroundColor setFill]; 
[self.backgroundColor setStroke]; 
+0

Je veux changer la couleur de la drawRect comme soi-même. ? . Couleur de fond'. Comment puis-je changer la couleur du rect rectangle comme ça? Je l'ai implémenté, mais ça ne marche pas, à moins qu'il ne le mette dans le code rectangle. – iIveTh3PaST

+0

vérifier ma modification. J'espère que je t'ai eu raison ... –