在 iPhone 应用程序中,我有一个带有三个选项卡的 UITabBar。一个有系统映像,另外两个有自定义映像。这些是 PNG,30x30,基于调色板,大部分是透明的。这些图像在模拟器中显示良好,但在设备上,我看到的只是选项卡上的灰色渐变方块。这些图像上的形状一开始是灰色的,但它们确实在模拟器上按预期显示。
请问有什么想法吗?
在 iPhone 应用程序中,我有一个带有三个选项卡的 UITabBar。一个有系统映像,另外两个有自定义映像。这些是 PNG,30x30,基于调色板,大部分是透明的。这些图像在模拟器中显示良好,但在设备上,我看到的只是选项卡上的灰色渐变方块。这些图像上的形状一开始是灰色的,但它们确实在模拟器上按预期显示。
请问有什么想法吗?
图像应该是透明的白色。它在 UI 设计指南中。就我而言,它是透明的灰色。模拟器可以原谅,设备不会。
设备本身比模拟器对图像格式更挑剔。我有很多例子,事情出现在模拟器中而没有出现在手机上。一直对我有用的是将我所有的 PNG 编码为 24 位 PNG-24(在 Photoshop 中)——对于图标等,增加的文件大小是微不足道的,它解决了我的图像不显示的问题。
大约 3 小时后,我注意到不那么明显......文件的名称在设备上使用区分大小写的规则进行处理,但不在 XCode 模拟器中(从 XCode 4.6 开始)。
例如:
如果实际文件名(资源)是“first.png”,那么您的代码中必须是以下情况---
//这样做 self.tabBarItem.image = [UIImage imageNamed:@"first.png"];
//不是这个 self.tabBarItem.image = [UIImage imageNamed:@"First.png"];
在更改代码之前先查看一下。