iOS5上的自定义导航栏背景

时间:2012-03-12 16:58:03

标签: ios5 navigation

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

@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 个答案:

答案 0 :(得分:1)

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

  • audioNav.png - 320x44
  • audioNav@2x.png - 640x88

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