2012-03-12 59 views
0

我用于导航栏背景的图像是640x88。导航栏的代码如下。它适用于iOS4.3模拟器,但背景图像在iOS 5模拟器上显示为正常的两倍。如何在iOS 5.0上调整背景图像?iOS5上的自定义导航栏背景

@implementation UINavigationBar (CustomBackground) 

- (UIImage *)barBackground { 
    [self setTintColor:[UIColor colorWithRed:0.5f 
             green: 0.25f 
             blue:0.09f 
             alpha:0.6]]; 
    UIImage *image; 
    image=[UIImage imageNamed:@"audioNav.png"]; 
    return image; 
} 
- (void)didMoveToSuperview { 
    //iOS5 only 
    if ([self respondsToSelector:@selector(setBackgroundImage:forBarMetrics:)]) 
    { 
     [self setBackgroundImage:[self barBackground] forBarMetrics:UIBarMetricsDefault]; 
    } 
} 
- (void)drawRect:(CGRect)rect { 
    [[self barBackground] drawInRect:rect]; 
} 

回答

1

创建2个图像,一个用于正常分辨率显示器,一个用于视网膜显示:

当使用[UIImage imageNamed:@"audioNav.png"]它将始终加载正确的图像。

+0

谢谢!非常感谢!它现在有效! – user503698 2012-03-12 20:34:37