我用于导航栏背景的图像是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];
}
答案 0 :(得分:1)
创建2张图像,一张用于正常分辨率显示,一张用于视网膜显示:
使用[UIImage imageNamed:@"audioNav.png"]
时,它将始终加载正确的图像。