ios – 自定义UINavigationBar可在模拟器上运行,但不适用于已发布的版本

前端之家收集整理的这篇文章主要介绍了ios – 自定义UINavigationBar可在模拟器上运行,但不适用于已发布的版本前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我希望能够深入了解一个过去几个小时我一直在努力解决的问题.我有一个自定义UINavigationBar正在应用程序中配置:DidFinishLaunchingWithOptions通过调用以下方法

[[UINavigationBar appearance] setBackgroundImage:[UIImage imageNamed:@"NavBar"] forBarMetrics:UIBarMetricsDefault];

当我在XCode中运行我的应用程序时(无论是在模拟器中还是在插入计算机的实际设备上),这都很有效,并显示我的自定义背景.但是,当我在TestFlight上运行应用程序的发布版本时,会显示标准的浅蓝色导航栏.在搞乱了setBackgroundImage方法的放置之后没有运气,我开始相信它与“调试”与“发布”设置的差异有关,但我对这些设置导致此导航条问题的位置毫无头绪.

任何帮助或洞察这个问题(或我将如何调试它)将不胜感激.先感谢您!

解决方法

正如我的评论中提到的,当您遇到类似的问题时,您应该检查图像的名称并确保它不区分大小写.您可能添加了名为navBar的图像,但您在项目中使用的是NavBar.这就是这个问题的原因.模拟器不区分大小写,但设备是.

要么将代码更改为,

[[UINavigationBar appearance] setBackgroundImage:[UIImage imageNamed:@"navBar"] forBarMetrics:UIBarMetricsDefault];

猜你在找的Xcode相关文章