0

途方もなく初心者の質問で申し訳ありませんが、私は 2 つのタブのアプリを作成しています。2 番目のタブでは、画像の上に四角形を描いています。

SecondViewCONtroller.m に次のように書いています。

-(void)drawRect:(CGRect)rect {
CGContextRef ctx = UIGraphicsGetCurrentContext();
CGContextSetRGBFillColor(ctx, 1.0, 0.0, 0.0, 1.0);
CGContextFillRect(ctx, CGRectMake(100.0, 100.0, 100.0, 100.0));
NSLog(@"rectangle drawn!");
                  }

そしてもちろん、それは呼び出されていません。覚えていませんが、ペイント関数を作成する必要がありますか? 2 番目のタブが開いているときに drawRect を呼び出すにはどうすればよいですか?

ありがとう

4

2 に答える 2

2

-drawRect:メソッドは onであり、UIViewではありませんUIViewController。必要がある:

  • のサブクラスを作成するUIView
  • -drawRect:そのクラスでオーバーライドする
  • SecondViewController がそのクラスのビューを含むペン先をロードするか、そのクラスのビューを直接作成することを確認してください
于 2012-06-19T05:34:32.150 に答える
1

まず、 のYourViewサブクラスである class( ) を作成しますUIView。viewController にコードを実装します。

- (void)viewDidLoad
{
   YourView *temp = [[YourView alloc] initWithFrame:CGRectMake(0, 0, 320, 460)];

    [self.view addSubview:temp];
}

method( - (void)drawRect:(CGRect)rect) をYourView.mファイルに記述します。このようにしてみてください。お役に立てると思います。

于 2012-06-19T05:38:30.547 に答える