2011-10-19 46 views
0

我想在UINavigationBar中繪製兩個圖像。第一個@「cabecera.png」是背景,第二個,@「c_portada.png」是一個必須超過背景的圖標。我試圖用drawInRect方法繪製圖像,但是當我嘗試繪製第二個圖像時,出現錯誤「Expected Identifier」,爲什麼?如何解決此錯誤:「預期標識符」

@implementation UINavigationBar (UINavigationBarCustomDraw) 

- (void) drawRect:(CGRect)rect { 
NSLog(@"Self.topItem.title: %@",self.topItem.title);   

    [[UIImage imageNamed:@"cabecera.png"] drawInRect:rect]; 
    [[UIImage imageNamed:@"c_portada.png"] drawInRect:[CGRectMake(0, 0, 60, 60)]]; 
} 
@end 
+2

注意的是,在navigaton條繪圖(類別替代的drawRect的)的這種方法不一樣的iOS 5的工作 – jrturton

回答

4

你有無效的領導和周圍的CGRectMake呼叫尾隨方括號。

這條線:

[[UIImage imageNamed:@"c_portada.png"] drawInRect:[CGRectMake(0, 0, 60, 60)]]; 

應該是:

[[UIImage imageNamed:@"c_portada.png"] drawInRect:CGRectMake(0, 0, 60, 60)]; 
+0

非常感謝你!我睡着了,我必須有一個咖啡:-) – Jimmy

1

它應該是:

[[UIImage imageNamed:@"c_portada.png"] drawInRect:CGRectMake(0, 0, 60, 60)]; 

你有一個額外[CGRectMake之前。

+1

你仍然是一個括號:) –

+0

球!你是對的 :) – Jano

3

CGRectMake不是一個Objective-C函數。它實際上是一個c函數,因此不需要只針對objective-c調用的方括號。

因此正確答案應該是:

[[UIImage imageNamed:@"c_portada.png"] drawInRect:CGRectMake(0, 0, 60, 60)];