我有一个奇怪的问题:我想在我的一个应用程序中有一个图标,它位于所有其他控制器/视图之上。我的想法是在处理内容视图的UITabBarController之上的主XIB-File (项目在iOS-5之前开始)中创建一个UIImageView。
我在appDelegate的didFinishLaunchingWithOptions中添加了ImageView
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
...
// Add the icon view that shows current working status (working/pause)
[self.window addSubview:self.statusIcon];
...
}最初ImageView是隐藏的,只有在按下按钮时才会显示。然后我将分配UIImage并将其取消隐藏:
AppDelegate *delegate = (AppDelegate *)[[UIApplication sharedApplication] delegate];
[delegate.statusIcon setImage:statusIconWorking];
[delegate.statusIcon setHidden:NO];这在模拟器中工作,但在设备上不起作用(在iPod touch 4. generation和iPad 3. generation (视网膜)上进行了测试)。
有人能告诉我它不是那样工作的吗?这不是图像问题(它存在于设备上,我试图加载ImageView中的其他图像,这些图像在应用程序的其他部分显示正确)。
谢谢。
发布于 2012-07-23 21:57:33
我曾经观察到同样的问题,但在这里没有找到解决方案。不过,一些提示是有帮助的,所以我最终确定了它。这种情况只发生过一次,在xcode版本更改后的几天我就注意到了。然而,我从来没有发现解决方案是什么,以及这是否真的是由版本迁移造成的。
原因是图像文件不是捆绑包的一部分。检查您的边界设置。对您可能拥有的每个目标执行此操作。
我的观察是:图像文件包含在模拟器上的捆绑包中。它不仅在从一个版本到下一个版本中保持不变。即使我从模拟器中删除了应用程序,它也被重新安装了。我这样做了,要么使用模拟器的gui删除它,就像从真实设备中删除一样,然后手动从模拟器的文件系统中删除它-只是为了确保。在任何情况下,都会重新安装该文件。
在设备上则有所不同。创建IPA或应用程序捆绑包,就像您为提交到商店的beta测试人员所做的那样。去看看吧。(将文件名更改为.zip并解压缩可能有助于查看包。)我敢打赌,你不会在那里找到你的形象。
解决方案:仔细检查您的项目设置,并确保分别为所有目标正确包含所有资源。
https://stackoverflow.com/questions/11613789
复制相似问题