我希望对过去几个小时我一直在努力解决的问题有所了解。我有一个自定义的 UINavigationBar,它通过调用以下方法在 application:DidFinishLaunchingWithOptions
中进行配置:
[[UINavigationBar appearance] setBackgroundImage:[UIImage imageNamed:@"NavBar"] forBarMetrics:UIBarMetricsDefault];
当我在 XCode 中运行我的应用程序时(无论是在模拟器中还是在插入计算机的实际设备上),效果都很好,并且显示了我的自定义背景。但是,当我在 TestFlight 上运行应用程序的发布版本时,会显示标准的浅蓝色导航栏。在弄乱了 setBackgroundImage
方法的放置但没有运气之后,我开始相信它与“调试”与“发布”设置的差异有关,但我对这些设置的位置一无所知会导致此 navigationBar 问题。
任何对此问题的帮助或见解(或我将如何调试它)将不胜感激。提前致谢!
最佳答案
正如我在评论中提到的,当您遇到类似问题时,您应该检查图像名称并确保它不区分大小写。您可能添加了名称为 navBar
的图像,但您在项目中用作 NavBar
。这就是这个问题的原因。模拟器不区分大小写,但设备区分大小写。
要么把代码改成,
[[UINavigationBar appearance] setBackgroundImage:[UIImage imageNamed:@"navBar"] forBarMetrics:UIBarMetricsDefault];
关于ios - 自定义 UINavigationBar 适用于模拟器,但不适用于已发布版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13814654/