iOS 7状态栏,具有可拉伸图像

iOS 7状态栏,具有可拉伸图像,ios,objective-c,uikit,Ios,Objective C,Uikit,又一天,又一个问题与iOS 7发生了争执。我目前正在将我的公司遗产转化为最新和最伟大的,我遇到了各种各样的问题 我目前正在尝试纹理的状态栏,在大多数情况下,它的工作预期。问题是它并没有覆盖整个导航栏,只覆盖标题区域。我将视图控制器包含在导航控制器中,并对状态栏进行纹理处理,如下所示: UIImage * navBackground = [UIImage imageNamed:@"navigation-bar-background_iPhone.png"]; navBackground = [na

又一天,又一个问题与iOS 7发生了争执。我目前正在将我的公司遗产转化为最新和最伟大的,我遇到了各种各样的问题

我目前正在尝试纹理的状态栏,在大多数情况下,它的工作预期。问题是它并没有覆盖整个导航栏,只覆盖标题区域。我将视图控制器包含在导航控制器中,并对状态栏进行纹理处理,如下所示:

UIImage * navBackground = [UIImage imageNamed:@"navigation-bar-background_iPhone.png"];
navBackground = [navBackground stretchableImageWithLeftCapWidth:0 topCapHeight:0];
[self.navigationController.navigationBar setBackgroundImage:navBackground forBarPosition:UIBarPositionTopAttached barMetrics:UIBarMetricsDefault];
这就是我得到的回报:

有趣的是导航栏上方的黑色空间,因为页面内容都是白色的


我使用的背景图像是64像素高。这是一个较老的项目,所以我不使用autolayout,所有UI元素都包含在XIBs中。欢迎提供任何帮助

您将什么操作系统作为基准级别?如果您仅为iOS 7构建,则可以切换到使用资产目录,然后将可调整大小的信息嵌入到图像中。另外,
stretchableImage…
也不推荐使用。您应该使用
resizebleimagewith…
。不幸的是,我们一直支持iOS 5,但这确实像iOS 7的一个不错的功能。感谢您对不推荐使用的方法的提醒。请尝试将ios7中的状态栏设置为白色。