UINavigationBar
在iPhone 4上显示2个背景图像。一个在中间。但是一个更大,位于UINavigationBar
的右侧。我在iPhone 5上测试过它并没有发生。任何建议请。
请参阅
上的图片http://s27.postimg.org/5jvzqp04z/header.png
对不起,我没有足够的声誉在这里发布图片。
答案 0 :(得分:0)
试试这个:
navigationBar.translucent = NO;,iOS7中默认为YES。
请阅读此UINavigationBar文档:
iOS 7上的新行为。默认为YES。您可以通过将属性设置为NO来强制使用不透明背景。如果导航栏具有自定义背景图像,则默认值是从图像的α值推断出的,如果它具有alpha< 1.0如果将setTranslucent:YES发送到具有不透明自定义背景图像的条形图,则会将小于1.0的系统不透明度应用于图像。如果您将setTranslucent:NO发送到具有半透明自定义背景图像的条形图,它将使用条形图的barTintColor(如果已定义)为图像提供不透明背景,如果barTintColor为零,则为UIBarStyleBlack提供黑色或UIBarStyleDefault为白色。
设置' navigationBar.translucent'如果您在具有较旧iOS版本的设备/模拟器中运行项目,则值会导致异常。
添加如下版本检查:
float systemVersion = [[[UIDevice currentDevice] systemVersion] floatValue];
if (systemVersion >= 7.0)
{
navigationBar.translucent = NO;
}
另一种选择是设置:
vc.edgesForExtendedLayout = UIRectEdgeNone;
希望这会对你有所帮助。干杯:)