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

ニブを変更する必要がありますか?

ありがとう

4

3 に答える 3

5

オーバーライドする drawRect がない UIViewController をサブクラス化しました。drawRect は UIView のメソッドです。

于 2010-05-11T14:19:45.007 に答える
3

drawRect: はUIViewメソッドであり、メソッドではありませんUIViewController

于 2010-05-11T14:18:45.710 に答える
0

答えがわかりました。UIVIEWから継承した新しいクラスを取得しましたが、呼び出されていないdrawRectメソッドが見つかりました。

間違いだった、私はUIVIEWCONTRLLER CLASSSでメソッドを宣言していましたが、UIViewから継承された新しいクラスでそれを実行する必要がありました。

于 2010-05-12T07:18:07.973 に答える