2010-01-14 6 views
0

J'ai créé une classe UIViewController. Affiche bien. J'ai ensuite fait une classe UIView pour l'utiliser. Dans InterfaceBuilder, j'ai défini la classe UIView sur ma propre classe UIView personnalisée. Je puis l'emportaient sur la méthode drawRect dans cette classe:UIView drawRect ne dessine rien pour moi?

- (void)drawRect:(CGRect)rect 
{ 
    NSLog(@"Yes we are drawing with width: %f", rect.size.width); 

    CGContextRef g = UIGraphicsGetCurrentContext(); 
    CGContextSetRGBStrokeColor(g, 1, 1, 1, 1); 
    CGContextSetRGBFillColor(g, 1, 1, 1, 0); 
    CGContextFillRect(g, CGRectMake(0, 0, 100, 100)); 

et je peux voir que les impressions des états de journal, mais aucun de mon code de dessin a en fait un effet visible. Le rect ne se dessine pas à l'écran. Y a-t-il une autre connexion que j'ai eu à faire dans InterfaceBuilder pour que cela fonctionne?

À part de définir le nom de classe pour la propriété UIView de mon contrôleur de vue dans InterfaceBuilder, je n'ai rien changé d'autre.

Merci

Répondre

0

Le dernier argument de CGContextSetRGBFillColor est l'alpha de la couleur de remplissage. Vous définissez à zéro, de sorte que vous remplissez avec une couleur transparente. Essayez ceci:

- (void)drawRect:(CGRect)rect 
{ 
    NSLog(@"Yes we are drawing with width: %f", rect.size.width); 

    CGContextRef g = UIGraphicsGetCurrentContext(); 
    CGContextSetRGBStrokeColor(g, 1, 1, 1, 1); 
    CGContextSetRGBFillColor(g, 1, 1, 1, 1); 
    CGContextFillRect(g, CGRectMake(0, 0, 100, 100)); 
... 
+0

Bonne peine, désolé à ce sujet, aurait dû voir cela dans les docs, merci pour votre aide. – user246114

Questions connexes