2012-07-23 84 views
0

我有一個奇怪的問題:我想在我的應用程序中保持在每個其他控制器/視圖之上的圖標。我的想法是在處理內容視圖的UITabBarController上方的主XIB-File(該項目在iOS-5之前開始)中創建UIImageView。UIImageView在appDelegate中顯示在模擬器中,但沒有在設備上

我添加的ImageView在的appDelegate

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 
{ 
    ... 
    // Add the icon view that shows current working status (working/pause) 
    [self.window addSubview:self.statusIcon]; 
    ... 
} 

最初ImageView的被隱藏的didFinishLaunchingWithOptions,它將當按下按鈕只顯示。然後,我將分配的UIImage和取消隱藏它:

AppDelegate *delegate = (AppDelegate *)[[UIApplication sharedApplication] delegate]; 
[delegate.statusIcon setImage:statusIconWorking]; 
[delegate.statusIcon setHidden:NO]; 

此功能用於模擬器,但不是在設備上(測試了它在iPod touch 4代和ipad 3.代(視網膜))。

有人能告訴我這不行嗎?這不是圖像問題(它存在於設備上,我試圖在ImageView中加載其他圖像,並在應用程序的其他部分正確顯示)。

謝謝。

回答

0

我曾經觀察過同樣的問題,並沒有在這裏找到解決方案。儘管有些提示很有幫助,所以我終於找到了答案。它只發生過一次,我注意到它在xcode版本更改後的幾天。但是,我從來沒有發現解決方案是什麼,如果這真的是由版本遷移造成的。

原因是圖像文件不是捆綁的一部分。檢查你的邊界設置。爲您的每個目標都這樣做。

我的觀察結果是:圖像文件被包含在模擬器上的包中。它不僅在一個版本中保持不變。即使我從模擬器中刪除了應用程序,它也被重新安裝。我這樣做或者使用模擬器的gui刪除它,就好像從真實設備中刪除它一樣,我手動將它從模擬器的文件系統中刪除 - 只是爲了確保。無論如何,該文件已重新安裝。

在設備上它是不同的。創建一個IPA或APP捆綁包,就好像您可以爲測試人員提交商店一樣。看看它。 (將文件名更改爲.zip和解壓縮可能有助於查看包。)我敢打賭,您不會在那裏找到您的圖像。

解決方法:重新檢查您的項目設置,並確保所有資源分別適用於所有目標。

+0

感謝您的幫助,但不幸的是,這不是我的問題。圖像文件存在於手機上,我檢查了它,當我嘗試在UIImageView中加載另一個圖像時,它也不會顯示。我不知道爲什麼它不顯示,但我認爲這與我想要顯示圖像的方式有關。 – chritaso 2012-07-24 06:54:42

相關問題