Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/103.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
UINavigationBar+;iOS7背景图像设置不正确_Ios_Ios7_Uinavigationbar - Fatal编程技术网

UINavigationBar+;iOS7背景图像设置不正确

UINavigationBar+;iOS7背景图像设置不正确,ios,ios7,uinavigationbar,Ios,Ios7,Uinavigationbar,我已将背景图像设置为UINavigationController [self.navigationController.navigationBar setBackgroundImage:[UIImage imageNamed:@"NavigationBar.png"] forBarMetrics:UIBarMetricsDefault]; 看起来是这样的。为什么图像被分割?我们可以看到暗线。那是什么 我用图像尝试了你的方法,但我没有用导航栏的图像来面对你的问题。 如下图所示:- 您看到的线条是

我已将背景图像设置为
UINavigationController

[self.navigationController.navigationBar setBackgroundImage:[UIImage imageNamed:@"NavigationBar.png"] forBarMetrics:UIBarMetricsDefault];
看起来是这样的。为什么图像被分割?我们可以看到暗线。那是什么


我用图像尝试了你的方法,但我没有用导航栏的图像来面对你的问题。 如下图所示:-


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

对于iOS7,导航栏包括状态栏


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

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

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

为受尊重的视图控件应用以下设置: 1.首先在情节提要中选择视图控制器。 2。进入编辑器->嵌入->导航控制器,如下所示

3.同时对受尊重的视图控制器执行以下设置。

4。将以下代码写入内部 -(无效)视图将显示:(BOOL)动画

[self.navigationController.navigationBar setBackgroundImage:[UIImage imageNamed:@"sample.png"] forBarMetrics:UIBarMetricsDefault];
根据苹果标准,图像大小应适当,无像素化。 即 1) 320 X 44用于常规图像 2) 640 X 88用于视网膜图像

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

我认为您的背景图像NavigationBar.png高度不够。绝对正确,您的视网膜图像应为640 x 128,而对于1个项目,您的图像应为320 x 64。有关如何复制此问题的内容应予以评论,因为这并不能回答正确的问题。@iOSNoob我只是想看看我是否面临与他面临的问题相同的问题,是的,我应该发表评论,但在评论中我无法显示图像(因为我不知道如何显示),所以何时发布这篇文章。图像证明了我使用了他所做的,我没有面临任何问题。对他来说,我是gng建议改变图像大小并运行它。