2010-04-16 68 views
21

我有一個UIView,並將UIImageView拖動到視圖上。突然間,對於我所有的xib,圖像不再顯示。有一個藍色的X.但是,當它建立時,圖像就在那裏。在界面生成器/ iPhone中的UIImageView中未顯示圖像

有一次,我刪除並重新生成了所有圖像,並將一些圖像移動到Xcode的子文件夾中。通常情況下,當您選擇UIImageView的圖像時,IB允許您從項目中的任何圖像中進行選擇。但是,我無法在下拉列表中看到我放入該文件夾的任何圖像。

我在Inspector的下拉列表中看到的是我想要的一個圖像,但這也是沒有出現的圖像。就像我說的,如果我在設備或模擬器上構建它,它就可以工作。

有一些緩存或什麼地方搞砸了。一切都沒有錯誤。我清除了緩存並重建了。這一切都有效。沒有錯誤或警告。但是......我看不到任何其他圖像,IB仍然認爲它缺少在下拉列表中明確選擇的圖像。

那麼,如何讓Xcode和IB重新走上正軌並看到它在XIB中應該看到的資產?

+0

您是否嘗試「清除所有目標」? – 2010-04-16 03:21:40

回答

17

嘗試清潔和重建項目。

如果它仍然不工作,則從Xcode中刪除所有圖像(僅選擇刪除參考),然後通過將這些圖像拖動到Xcode中再次重新添加它們。然後重新構建它,它應該工作。

+2

這有幫助。我也注意到,有時我只需要退出Xcode並重新啓動以清除此問題。傷心! – 2016-08-25 17:14:58

0

我有相同的症狀,但我只是將項目文件夾移動到桌面,從那裏重新運行在IB的項目,它的工作!然後再次將它重新加入到同一個父文件夾中,使用不同的名稱......很奇怪。

0

我有幾次這個問題。然後將項目目錄複製到桌面,重新命名原始文件夾,從新位置打開項目並將其移動到原始目錄再次幫助。所有這些「加載所有頭文件」的解決方案有時可以正常工作,有時候也不會

1

只是一個參考:我有類似的問題。在某些時候,圖像被破壞,它們都是透明的PNG!

我替換了這些文件,現在它們再次顯示。當我通過運行Windows XP的Oracle Virtual Box中的Windows資源管理器複製文件時,可能發生圖像損壞。

3

剛剛遇到這個問題。在Adobe Illustrator中導出相同的圖像。一個是透明的,另一個是白色的。透明的一個出現了一個很大的藍色問號。運行它,但工作得很好。與IB和透明PNG有關的事情

12

我的收信人:CLEAN + Build +退出XCODE,然後重新啓動它!

Voilá!在那!

2

僅僅是爲了記錄(因爲沒有什麼工作對我來說):

我們只有視網膜圖形在我們的項目。更新至XCode 5後,所有圖像中都有一個白色問號(僅在Interface Builder中,而不是在Simulator中)。我們將圖像源切換到non-retina,解決了這種情況!

enter image description here

使用btn-category-6.jpg解決的問題!

0

當我將圖像移動到xcassets時發生這種情況。我通過刪除檢查器上的png和jpg擴展來解決它。

2

對我來說,這是因爲圖像在屬性檢查器中有一個「.png」。刪除它解決了問題

1

在我的情況下,當我在Xcode 6中創建新項目時,我無法在模擬器和設備中顯示圖像。我已經導入了圖像資源中的所有圖像,並在其中創建了一個文件夾。現在,我已導入所有圖像,現在所有圖像都正常工作。所有圖像現在都顯示出來了。

遵循以下步驟:

步驟1:

Step 1:

步驟2:

Step 2

步驟3:

Step 3

然後導入您需要的圖像。參考鏈接: StackOverflow link

0

其中.png從我的形象,名稱的屬性督察

清洗,重新導入和檢查,其中正確映射資產後結束失蹤,沒有什麼工作,但我發現一旦我在屬性面板的圖像名稱末尾輸入了.png,我的圖像(這是一個PNG)就出現了。

enter image description here

0

確保您引用的圖像資產實際存在。我像往常一樣將我的文件添加到Xcode資產目錄(.xcassets),但忘記將默認名稱「Image」重命名爲我在故事板中使用的名稱。

0

它發生在我becayse我正在使用(使用命令⌘ + + )從Mac截圖生成的圖像。我使用它的文件擴展名手動更改爲png

這就是爲什麼圖像沒有顯示在我的情況。我重新保存了jpg格式的圖像,並且它工作正常。

0

如果您已經設置了所有1x,2x和3x圖片,清理並構建了項目並且仍然無法正確顯示,請退出Xcode並強制退出,然後再次打開Xcode。只是一個簡單的Xcode重新啓動爲我工作。

0

確保您的資產符合您在Xcode中的Interface Builder文件中查看的屏幕尺寸匹配的圖像比例。如果您在Xcode中使用資產目錄,或者如果您沒有使用資產目錄,那麼圖像資產包含@ 1x,@ 2x和@ 3x點,那麼您應該根據文件名區分不同的資產(例如「 image.png,[email protected][email protected]

您可能沒有多種資產規模,並且只提供了一種資產,比如1x或3x,並且您可能正在查看Interface Builder中的屏幕這是一種使用不同資產大小的設備類型,因此在Xcode中不會呈現圖像。例如,我正在查看iPhone 7的界面,該界面使用2x,但資產只有3x版本。我添加了一個2x版本,它立即出現在Xcode的界面生成器中。

請注意,即使它不在Xcode中呈現,可能仍然在運行時正確渲染。儘管如此,以適合每種設備型號的分辨率提供資產是一種很好的做法。

5

確保在將圖像拖動到項目中時將圖像添加到目標。由於Xcode的文件夾/組/項目系統有錯誤,請單擊圖像並檢查它是否實際添加到檢查器中的目標版本(如圖所示)(圖形問題值得圖解答案!):

將圖像添加到該項目...

enter image description here

添加到目標...(或者我們認爲)

enter image description here

背景圖像很好地在Interface Builder顯示...

enter image description here

但是,當我們跑,我們什麼都沒有,但我們設置背景顏色...沒有圖片...

enter image description here

點擊的UIImageView在Interface Builder和使用檢查員,我們向下滾動,發現實際上它從未添加到像Xcode清晰顯示的步驟2中的目標中...

enter image description here

所以我們把它添加到目標...

enter image description here

我們構建並運行,瞧!我們的圖像在UIImageView中完全顯示在它想要顯示的位置。

enter image description here

這驅使我堅果一天的大部分時間,直到我嘗試添加代碼去實現它,看它是否是一個古怪的形象。我通過創建下面的viewDidLoad實現來添加它,沒有問題。

請注意,如果Xcode/Interface Builder按其應有的方式工作,則不需要此操作。無論是用戶IB或使用此代碼,而不是兩個:

- (void)viewDidLoad { 
UIColor * theColor; 
UIImage * theImage; 

[super viewDidLoad]; 
// Do any additional setup after loading the view, typically from a nib. 
theImage = [UIImage imageNamed:@"/<redacted>/background sea green gradent.png"]; 
theColor = [UIColor colorWithPatternImage: theImage ]; 
[self.view setBackgroundColor: theColor ]; } 

注意:這是同一個問題,如果你的按鈕沒有顯示自定義圖片...

+0

我不得不點擊iOS 11中的目標成員資格,即使我在添加圖像時檢查了它。 iOS 11是有史以來最大的破解版本。 – coolcool1994 2017-10-03 20:00:05

0

我碰到這個問題跑幾次 - 有時(我不太確定爲什麼...),Xcode似乎忘記了UIImageView和文件夾中圖像之間的聯繫。

它可能就像去圖像視圖的屬性檢查器一樣簡單,如果圖像框中顯示'未知圖像',則重新選擇正確的圖像!

UIImageView attributes inspector

相關問題