Ios u导航栏显示iPhone 4中的2幅重叠背景图像

Ios u导航栏显示iPhone 4中的2幅重叠背景图像,ios,iphone,objective-c,uinavigationbar,Ios,Iphone,Objective C,Uinavigationbar,UINavigationBar显示iPhone 4上的2幅背景图像。一个在中间。但其中一个更大,位于UINavigationBar的右侧。我在iPhone5上进行了测试,但没有成功。有什么建议吗 请看上面的图片 很抱歉,我没有足够的声誉在这里发布图片。试试这个: navigationBar.translucent=否;,在iOS7中默认为YES 请阅读以下UINavigationBar文档: iOS 7上的新行为。默认值是YES。通过将属性设置为“否”,可以强制设置不透明背景。如果导航栏具有自

UINavigationBar
显示iPhone 4上的2幅背景图像。一个在中间。但其中一个更大,位于
UINavigationBar
的右侧。我在iPhone5上进行了测试,但没有成功。有什么建议吗

请看上面的图片


很抱歉,我没有足够的声誉在这里发布图片。

试试这个:

navigationBar.translucent=否;,在iOS7中默认为YES

请阅读以下UINavigationBar文档:

iOS 7上的新行为。默认值是YES。通过将属性设置为“否”,可以强制设置不透明背景。如果导航栏具有自定义背景图像,默认值是从图像的alpha值推断出来的。如果将SetTransparent:YES发送到具有不透明自定义背景图像的条形图,则系统不透明度将小于1.0。如果将setTranslucent:NO发送到具有半透明自定义背景图像的条形图,则将使用条形图的BarIntColor(如果已定义)为图像提供不透明背景,如果BarIntColor为零,则为UIBarStyle黑色或为UIBarStyleDefault白色

如果在具有较旧iOS版本的设备/模拟器中运行project,则设置“navigationBar.translucent”值会导致异常

添加如下所示的版本检查:

 float systemVersion = [[[UIDevice currentDevice] systemVersion] floatValue];
 if (systemVersion >= 7.0)
 {
navigationBar.translucent = NO;
 }
另一个选项是设置:

vc.edgesForExtendedLayout=UIRectEdgeNone


希望这能对你有所帮助。干杯:)

你能添加你的UINavigationBar的图像吗,这样我们就能清楚你的问题了。谢谢你的建议,很抱歉没有及时回复。我试过你的密码。但它似乎没有改变。问题发生在iPhone4和iPad上,而不是iPhone5上。它是有线的。我将添加我的问题的图像。希望看到更多的建议。是的,一定要添加图片,这将使我们彻底了解你的情况。请检查以下链接,也许它会帮助你:我已经尝试了一切,但没有工作。我想这是因为iOS 7.1。因为背景图像在iOS 7.0.6中运行良好。这不是因为iPhone4、5或iPad,而是因为iOS版本。可能是一只虫子。我还发现UITabbar图像的色调也不能改变(只有蓝色)。因为这是iOS 7中的一个bug,我将投票表决你的答案作为解决方案。谢谢