为什么drawRect方法没有被调用?

问题描述:

#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]; 
    } 

我需要对笔尖进行任何更改吗?为什么drawRect方法没有被调用?

由于

你已经子类UIViewController没有drawRect覆盖。 drawRect是UIView的一种方法。

+0

是啊thanx的答复,我有我的答案,你是对的,我带了一个新的类,我从UIVIEW继承,我发现drawRect方法,这不叫... – Rahul 2010-05-12 07:16:55

+1

如果你有答案,那么你应选择他们接受。你可以阅读FAQ。 – harshalb 2010-09-16 09:35:13

的drawRect:是一个UIView方法,而不是一个UIViewController方法。

我有我的回答,我花了一类新的我从UIView的继承,我发现的drawRect方法,它不叫..

这个错误是,我被宣告方法UIVIEWCONTRLLER班组长,而我必须在从UIView开始的新类中做 。

+1

FYI-堆栈溢出的工作方式与大多数论坛有点不同。这里的惯例是用复选标记标记“正确的”答案,而不是创建一个新的“答案”。这样未来的用户可以快速查看原始海报的效果......贡献者获得“信誉”点帮助。你应该得到几个答案,并有效地“关闭”这个话题。 – Meltemi 2010-05-12 18:52:33