2012-04-27 36 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