我有一个奇怪的问题:我想在我的一个应用程序中有一个图标,它位于其他所有控制器/视图之上。我的想法是在处理内容视图的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.生成和iPad 3.生成(视网膜)上测试)。
有人可以告诉我这不起作用吗?这不是图像问题(它存在于设备上,我试图在ImageView中加载其他图像,在应用程序的其他部分正确显示)。
谢谢。
答案 0 :(得分:0)
我曾经观察过同样的问题而且没有找到解决方案。虽然有些提示很有用,所以我最终把它钉了下来。它只发生过一次,我在xcode版本更改后几天就发现了它。但是,我从来没有发现解决方案是什么,以及是否真的是由版本迁移引起的。
原因是图像文件不是捆绑包的一部分。检查您的边界设置。对你可能拥有的每个目标都这样做。
我的观察结果是:图像文件包含在模拟器上的包中。它不仅仅是从一个版本到另一个版本。即使我从模拟器中删除了应用程序,它也会重新安装。我这样做是要么使用模拟器的gui删除它,就好像从真实设备中删除它并且我从模拟器的文件系统中手动删除它 - 只是为了确定。无论如何都重新安装了文件。
在设备上它是不同的。创建一个IPA或APP捆绑包,就像您要为商店提交的beta测试人员一样。看看吧。 (将文件名更改为.zip并解压缩可能有助于查看捆绑包。)我打赌你不会在那里找到你的图像。
解决方案:仔细检查您的项目设置,并确保分别为所有目标正确包含所有资源。