2010-05-11 4 views
0
#import <UIKit/UIKit.h> 

@interface quartzViewController : UIViewController { 
IBOutlet UIView *myView; 

} 

@end 


#import "quartzViewController.h" 

@implementation quartzViewController 


    -(void)drawRect:(CGRect)rect 
    { 

CGContextRef context = UIGraphicsGetCurrentContext(); 
CGContextSelectFont(context, "Arial", 24, kCGEncodingFontSpecific); 
CGContextSetTextPosition(context,80,80); 
CGContextShowText(context, "hello", 6); 
//not even this works 
CGContextShowTextAtPoint(context, 1,1, "hello", 6); 
    } 

    - (void)viewDidLoad { 
[myView setNeedsDisplay]; 

[super viewDidLoad]; 
    } 

Est-ce que je devrai faire des changements dans la plume?Pourquoi la méthode drawRect n'est pas appelée?

Merci

Répondre

5

Vous avez sous-classé UIViewController qui n'a pas de drawRect à remplacer. drawRect est une méthode de UIView.

+0

ouais merci pour la réponse, j'ai ma réponse, vous avez raison, j'ai pris une nouvelle classe dont j'hérite UIVIEW et j'ai trouvé la méthode drawRect, qui n'est pas appelée ... – Rahul

+1

Si vous avez la réponse alors vous devrait les sélectionner comme acceptés. vous pouvez lire la FAQ. – harshalb

3

drawRect: est une méthode UIView, pas une méthode UIViewController.

0

j'ai eu ma réponse, je pris une nouvelle classe que je hérite de UIView et je trouve la méthode drawRect, qui n'est pas appelé ..

LA FAUTE A ÉTÉ, je déclare la méthode a été dans UIVIEWCONTRLLER Classs, plutôt Je devais le faire dans une nouvelle classe dans herited de UIView.

+1

FYI- Stack Overflow fonctionne un peu différemment de la plupart des forums. la convention ici est de marquer la réponse "correcte" avec une coche plutôt que de créer une nouvelle "réponse". De cette façon, les futurs utilisateurs peuvent voir rapidement ce qui a fonctionné pour l'affiche originale ... et les contributeurs obtiennent des points de «réputation» pour aider. Et vous devriez obtenir quelques points pour choisir une réponse et effectivement «fermer» ce sujet. – Meltemi

Questions connexes