如何解决此错误:“预期标识符”

时间:2011-10-19 07:18:19

标签: iphone objective-c ios ipad

我想在UINavigationBar中绘制两个图像。第一个@“cabecera.png”是背景,第二个@“c_portada.png”是一个必须在后台的图标。我正在尝试使用drawInRect方法绘制图像但是当我尝试绘制第二个图像时出现错误“预期标识符”,为什么?

@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

3 个答案:

答案 0 :(得分:4)

CGRectMake电话附近有无效的前导方括号和尾随方括号。

这一行:

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

应该是:

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

答案 1 :(得分:3)

CGRectMake不是Objective-c函数。它实际上是一个c函数,因此不需要仅针对objective-c调用的方括号。

所以正确答案是:

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

答案 2 :(得分:1)

应该是:

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

你有一个额外的[在CGRectMake之前。