0

UIView をサブクラス化し、詳細ビュー コントローラーを介して呼び出しています。ロードすると、正しい寸法と配置で表示されますが、それは単なる黒い四角です... UIView をクラスのインターフェイスビルダーに入れるだけで機能します。draw rect が呼び出されるとは思わない。私のコードは次のとおりです。

- (id)initWithFrame:(CGRect)frame
{
    self = [super initWithFrame:frame];
    if (self) {
        // Initialization code
        [self setNeedsDisplay];
    }
    return self;
}


- (void)drawRect:(CGRect)rect
{
    // Drawing code

    CGContextRef context = UIGraphicsGetCurrentContext();
    CGContextSetRGBFillColor(context, 255.0, 255.0, 0, 1);
    CGContextStrokeRect(context, CGRectMake(0, 0, 50, 50));
}

そして私はそれを次のように呼びます:

 GameBox *boxy = [[GameBox alloc] initWithFrame:CGRectMake(50, 50, 50, 50)];
    [self.view addSubview: boxy];
4

1 に答える 1

2

塗りつぶしの色を設定していますが、四角形をストロークしています。ストロークの色を設定する必要があります。CGContextSetRGBStrokeColor

于 2012-04-27T19:25:40.617 に答える