【问题标题】:NavigationController background image issueNavigationController 背景图片问题
【发布时间】:2012-12-04 13:10:12
【问题描述】:

我已经在网上检查了很多解决方案,但我的 NavigationController 背景图像仍然存在问题。

这是我的代码:

[self.navigationController.navigationBar setBackgroundImage:[UIImage imageNamed:@"header_bg"] forBarMetrics:UIBarMetricsDefault];

问题是我的酒吧改变了它的外观(主要是颜色),但它仍然不像我的形象。

有没有更好的方法来解决这个问题?

【问题讨论】:

  • 尝试在相同的代码中添加图像的格式..即 [UIImage imageNamed:@"header_bg.png"] 以便获取准确的图像。
  • 确保图片的尺寸与navigationBar的尺寸匹配,也可以使用“[self.navigationController.navigationBar setClipsToBounds:YES];”如果需要ç 顺便说一下,您忘记了图片名称中的“.png”。

标签: iphone xcode


【解决方案1】:

试试这个....

UIImageView *imageView = [[UIImageView alloc] initWithImage: [UIImage imageNamed: @"NavBar_Img.png"]];
self.navigationItem.titleView = imageView;
[imageView release];

【讨论】:

    【解决方案2】:

    尝试设置样式,最后添加您的代码,如下所示..

    self.navigationController.navigationBar.barStyle = UIBarStyleDefault;
    [self.navigationController.navigationBar setBackgroundImage:[UIImage imageNamed:@"header_bg"] forBarMetrics:UIBarMetricsDefault];
    

    【讨论】:

    • 没用……图片仍然有某种渐变……知道如何删除它并使其更“平坦”吗? (像我的形象)
    • 嘿伙计张贴带有图像的屏幕截图以及您在此代码之后获得的导航栏..
    【解决方案3】:

    玩了一段时间后,我意识到设置背景图像会导致导航在其上创建图像图案。如果您在条形图上添加一个较小的图像,图像会自动重复,或者如果您放置一个较大的图像,您只会看到它的顶部,这就是您可以看到颜色但看不到图像的原因。

    此外,当您更改背景图像时,搜索栏的背景颜色将设置为黑色,这会导致半透明图像出现一些问题。因此尽量避免使用透明图像,并尝试为图像和条形使用相同的高度,最好是 44 像素。

    【讨论】:

      【解决方案4】:

      我有一个稍微不同的问题,我与寻找光的失落灵魂分享 o_O

      在我之前显示 UIAlertView 后,我的背景图片拒绝显示在导航栏中。我尝试创建一个单独的视图控制器并将我的 UIAlertView 移到其中,但同样的事情发生了:没有背景图像!有趣的是,如果我将初始控制器设置为越过 UIAlertView 控制器的控制器,那么背景图像就会按预期出现......

      感谢 Paras Joshi 在下面的回答,而不是指

      [UINavigationBar appearance]
      

      我用过……

      self.navigationController.navigationBar 
      

      无论 UIAlertView 如何,我的背景图像都会再次出现。

      这两个参考有什么区别?开始认为 iOS 7 存在我需要报告的问题。

      【讨论】:

        猜你喜欢
        • 2015-01-12
        • 1970-01-01
        • 1970-01-01
        • 2010-10-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-12-12
        相关资源
        最近更新 更多