2012-04-27 12 views
0

私はUIViewをサブクラス化しており、詳細ビューコントローラを介して呼び出しています。私はそれをロードすると、それは正しい次元と位置に表示されますが、それはちょうど黒い正方形です...私はちょうどUIViewをクラスとインターフェイスビルダーに入れ、それは動作します。私はdraw rectが呼ばれているとは思わない。 HERESに私のコード:クォーツiPhone drawRectが呼び出されていない

- (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)); 
} 

と私はそうのようにそれを呼び出す:あなたの塗りつぶしの色を設定しているが、あなたはRECTをなでるしている

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

なぜinitでsetneedsdisplayを呼び出していますか?これは間違っています。initの時点では、どのビューにも追加されておらず、ビューはロードされていません。 – Daniel

+0

それでは、どのように黒く表示されないのですか?私はsetneedsdisplay – michaela

+0

を設定せずにそれを試してみました。色は最初に色が0と1との間で、255ではなく... – Daniel

答えて

2

。ストロークの色を設定する必要があります:CGContextSetRGBStrokeColor

関連する問題