【问题标题】:UINavigationBar + iOS7 background image not setting properlyUINavigationBar + iOS7 背景图片设置不正确
【发布时间】:2014-08-09 15:35:39
【问题描述】:

我已将背景图片设置为UINavigationController。

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

它看起来像这样。为什么图像被分割?可以看到暗线。那是什么?

【问题讨论】:

  • 我觉得你的背景图片 NavigationBar.png 高度不够。

标签: ios ios7 uinavigationbar


【解决方案1】:

我认为您添加带有图像的自定义导航栏的方法如下:

为受尊重的视图控制应用以下设置: 1.先在storyboard中选择View控制器。 2。转到编辑器-> 嵌入-> 导航控制器,如下所示

3.对受尊重的视图控制器也做如下设置。

4.在里面写如下代码 -(void) viewWillAppear:(BOOL)动画

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

根据苹果标准,图像尺寸应该合适,没有像素化。 即 1) 320 X 44 用于常规图像 2) 640 X 88 用于 Retina 图像

希望这些步骤对您有用。 谢谢。

【讨论】:

    【解决方案2】:

    也许您需要清理项目文件 (Shift+Command+K) 和 (Shift+Alt+Command+K)。您可能还想尝试删除 Window > Organizer > [Project Name] 下的派生数据以及从 iOS 设备上删除应用程序(在 xCode 中构建后停止项目,然后像在 iDevices 上一样删除应用程序)。如果这不起作用,请尝试更改图像大小,否则您的图像文件可能有问题。

    【讨论】:

      【解决方案3】:

      您看到的线条是图像的底部。

      在 iOS7 中,Navbar 包含状态栏。

      因此,一种简单的解决方案可能是在背景图片顶部添加 20px。

      【讨论】:

      • 绝对正确,您的图像对于 Retina 应该是 640 x 128,对于 1x 应该是 320 x 64
      【解决方案4】:

      我尝试了您使用图片的方式,但没有遇到您的导航栏图片问题。 如下图:-

      【讨论】:

      • 对如何复制问题的评论应该被评论,因为这不能提供正确问题的答案。
      • @iOSNoob 我只是想看看我是否面临与他相同的问题,是的,我应该发表评论,但在评论中我无法显示图像(因为我不知道如何显示)所以什么时候发这篇文章。图片证明我使用了他所做的我没有遇到任何问题。
      • 对他来说,我也建议更改图像大小并试一试。
      猜你喜欢
      • 2012-03-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-09-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多