2010-01-14 48 views
0

我做了一個UIViewController類。顯示正常。然後我創建了一個UIView類來使用它。在InterfaceBuilder中,我將UIView類設置爲我自己的自定義UIView類。然後我推翻在類drawRect方法:UIView drawRect不會爲我畫任何東西?

- (void)drawRect:(CGRect)rect 
{ 
    NSLog(@"Yes we are drawing with width: %f", rect.size.width); 

    CGContextRef g = UIGraphicsGetCurrentContext(); 
    CGContextSetRGBStrokeColor(g, 1, 1, 1, 1); 
    CGContextSetRGBFillColor(g, 1, 1, 1, 0); 
    CGContextFillRect(g, CGRectMake(0, 0, 100, 100)); 

,我可以看到日誌語句打印,但是,沒有一個我的繪圖代碼實際上有任何明顯的效果。矩形不會在屏幕上繪製。有沒有其他的連接,我不得不在InterfaceBuilder中爲此工作?

除了在InterfaceBuilder中爲我的視圖控制器的UIView屬性設置類名之外,我還沒有改變任何東西。

感謝

回答

0

的最後一個參數CGContextSetRGBFillColor是填充顏色的Alpha。你將它設置爲零,所以你正在填充一個透明的顏色。試試這個:

- (void)drawRect:(CGRect)rect 
{ 
    NSLog(@"Yes we are drawing with width: %f", rect.size.width); 

    CGContextRef g = UIGraphicsGetCurrentContext(); 
    CGContextSetRGBStrokeColor(g, 1, 1, 1, 1); 
    CGContextSetRGBFillColor(g, 1, 1, 1, 1); 
    CGContextFillRect(g, CGRectMake(0, 0, 100, 100)); 
... 
+0

好悲傷,對不起,應該看到在文檔中,謝謝你的幫助。 – user246114