【问题标题】:Background image of opaque navigation bar is rendered incorrectly on iPhone 6不透明导航栏的背景图像在 iPhone 6 上渲染不正确
【发布时间】:2015-04-23 08:48:53
【问题描述】:

当我用方法设置背景图片时

setBackgroundImage:forBarMetrics:

在 iPhone 6 上是这样渲染的

如果我将导航栏设置为translucent,它会正常拉伸。

@implementation OHCNavigationBar

- (id)initWithCoder:(NSCoder *)aDecoder {
    if(self = [super initWithCoder:aDecoder]) {
        [self setupGradient];
    }   
    return self;
}

- (instancetype)initWithFrame:(CGRect)frame {
    if(self = [super initWithFrame:frame]) {
        [self setupGradient];
    }
    return self;
}


- (void)setupGradient {
    UIImage *gradientImage = [UIImage imageNamed:@"navigationBarBackground.png"];
   [self setBackgroundImage:gradientImage forBarMetrics:UIBarMetricsDefault];
}

@end

【问题讨论】:

    标签: ios iphone ios8 uiimage uinavigationbar


    【解决方案1】:

    您可以通过将边缘设置为0来设置UINavigationBar不重复模式的背景图像。

    UIImage *gradientImage32 = [[UIImage imageNamed:@"bkg_top_header_default.png"] resizableImageWithCapInsets:UIEdgeInsetsMake(0, 0, 0, 0)];
    [[UINavigationBar appearance] setBackgroundImage:gradientImage32
                                       forBarMetrics:UIBarMetricsDefault];
    [self.navigationController.navigationBar setBackgroundImage:gradientImage32 forBarMetrics:UIBarMetricsDefault];
    

    更新 1:

    - (void)setupGradient {
        UIImage *gradientImage = [[UIImage imageNamed:@"navigationBarBackground.png"] resizableImageWithCapInsets:UIEdgeInsetsMake(0, 0, 0, 0)  resizingMode:UIImageResizingModeStretch];
    
        [self setBackgroundImage:gradientImage forBarMetrics:UIBarMetricsDefault];
    }
    

    希望对您有所帮助。

    享受编码!

    【讨论】:

    • @aterite 这对你有帮助吗?
    • 不幸的是,它没有改变。我不知道,我应该设置其他插图吗?
    • 你能贴出你的代码来设置背景图片吗,这样我可以帮你更多。
    • 谢谢,我添加了 resizableImageWithCapInsets:UIEdgeInsetsMake(0, 0, 0, 0) resizingMode:UIImageResizingModeStretch
    • 你的问题解决了吗?如果没有,那么你应该尝试像 UIEdgeInsetsMake(0, 160, 0, 160) 这样的边缘插入,在我之前的答案中进行了更新。
    猜你喜欢
    • 1970-01-01
    • 2015-09-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多