UINavigationBar + iOS7背景图片设置不正确

时间:2014-06-19 07:13:55

标签: ios ios7 uinavigationbar

我已将背景图片设置为UINavigationController

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

它看起来像这样。为什么图像分裂?人们可以看到黑线。那是什么?

enter image description here

4 个答案:

答案 0 :(得分:2)

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

使用iOS7,Navbar包含状态栏。

因此,一个简单的解决方案就是将20px添加到背景图像的顶部。

答案 1 :(得分:0)

我尝试使用图像,但我没有遇到导航栏图像的问题。 如下图所示: -

Demo

答案 2 :(得分:0)

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

答案 3 :(得分:0)

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

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

enter image description here

3.还要为尊重的视图控制器执行以下设置。

enter image description here

<强> 4。在中写下以下代码 - (void)viewWillAppear:(BOOL)动画

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

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

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