2012-04-27 72 views
0

我是UIView的子類,並通過詳細視圖控制器調用它。當我加載它時,它顯示了正確的尺寸和位置,但它只是一個黑色方塊......當我將UIView放入與類的接口生成器時,它就可以工作。我不認爲繪製矩形被稱爲。我的繼承人代碼:石英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)); 
} 

,我叫它像這樣:

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

你爲什麼要在init中調用setneedsdisplay?這是不正確的,在初始化它沒有被添加到任何視圖,並沒有加載視圖.. – Daniel 2012-04-27 19:23:29

+0

那麼我怎麼得到的東西顯示不黑?我試過了,沒有設置setneedsdisplay – michaela 2012-04-27 19:24:08

+0

首先顏色介於0和1之間,而不是255 ... – Daniel 2012-04-27 19:24:50

回答

2

你設置你的填充顏色,但你撫摸一個矩形。你需要設置描邊顏色:CGContextSetRGBStrokeColor