0

Class Aたとえば、 にあるメソッドから描画メソッドを呼び出そうとしていますがClass B、メソッドが呼び出されていますが、描画は行われません。

- (void)drawIt
{
    CGContextRef context = UIGraphicsGetCurrentContext();
    CGContextSetFillColorWithColor(context, [UIColor whiteColor].CGColor);

    NSString *string = [NSString stringWithString:@"TEXT"];
    [string drawAtPoint:CGPointMake(12, 51) withFont:[UIFont fontWithName:@"Helvetica" size:35.0f]];
}

このメソッドを他のクラスから呼び出すことができるのはなぜですか?

4

2 に答える 2

1

最初YourViewに UIView のサブクラスであるクラス ' ' を作成します。viewDidLoadクラスBにある割付コード方式を書く

- (void)viewDidLoad{
 YourView *temp = [[YourView alloc] initWithFrame:CGRectMake(0, 0, 100, 100)];
    [self.view addSubview:temp];
}

- (void)drawRect:(CGRect)rectYourView.m にメソッドを実装する

- (void)drawRect:(CGRect)rect
{
CGContextRef context = UIGraphicsGetCurrentContext();
    CGContextSetFillColorWithColor(context, [UIColor whiteColor].CGColor);
    NSString *string = [NSString stringWithString:@"TEXT"];
    [string drawAtPoint:CGPointMake(12, 51) withFont:[UIFont fontWithName:@"Helvetica" size:35.0f]];
}

お役に立てると思います。

于 2012-05-29T11:43:41.927 に答える
0

UIView またはサブクラスを使用している場合は、drawRect メソッドをオーバーロードする必要があります。したがって、 drawRect 内では、他のクラスでメソッドを呼び出します。また、パラメータを介してコンテキストを渡すこともできます。

于 2012-05-29T11:31:32.360 に答える