0

我想在下面的代码中更改导航栏中的背景图片

UINavigationBar *navBar = self.navigationController.navigationBar;

UIImageView *image1=[[UIImageView alloc]initWithFrame:CGRectMake(0, 0, 320, 50)];

image1.image = [UIImage imageNamed:@"image2_ram.jpg"];
[navBar setBackgroundImage:image1.image forBarMetrics:UIBarMetricsDefault];

图像改变了,但图像的高度没有改变,为什么?

4

1 回答 1

2

你不应该这样设置,如果你也在考虑 iOS 4.0

用这个

@implementation UINavigationBar (CustomImage)
- (void)drawRect:(CGRect)rect {
    UIImage *image = [UIImage imageNamed:@"bgTopBar.png"];
    [image drawInRect:CGRectMake(0, 0, self.frame.size.width, self.frame.size.height)];
}
@end

或 iOS 5

使用这个,不需要给它框架,你不能改变高度超过44,导航栏的默认高度是44

    UINavigationBar *navBar = self.navigationController.navigationBar;
    UIImage *image = [UIImage imageNamed:@"bgTopBar.png"];
    [navBar setBackgroundImage:image forBarMetrics:UIBarMetricsDefault];
于 2012-05-24T07:38:31.093 回答