我正在研究一個有很多圖形的應用程序。該應用針對iOS 7+的iPhone,因此所有支持它的設備都具有視網膜顯示屏。我只添加了@ 2x和@ 3x圖形,因爲@ 1x圖形永遠不會被使用,而且我不希望包的大小增加得多。@ 2x圖像資產沒有@ 1x資產
我最加載程序的映像:
[self.imageView setImage:[UIImage imageNamed:@"ButtonOn"]];
這應該加載[email protected]
爲@ 2倍顯示器和[email protected]
爲iPhone 6加。
不過,我注意到這種行爲:
- iPhone 6加不加載@ 3倍的圖像。
- 但其他iPhone - 4,4s,5s和6不加載@ 2x。
- 我可以強制它通過使用圖形全名來加載@ 2x圖像,例如:
[UIImage imageNamed:@"[email protected]"]
,但是這違背了命名約定的目的,它也迫使我自己檢測屏幕密度。
有沒有辦法讓@ 2x和@ 3x圖像沒有@ 1x的?
UPDATE:該問題與屏幕密度無關。問題在於,由於我使用的是JPG圖形而不是PNG圖形,因此除非使用文件的全名擴展名,否則Xcode無法找到它們。也許這是一個錯誤。
當您的應用程序在iPad 2上運行時,您需要1x圖像。 – rmaddy
錯誤在於聽不到您所聽到的內容... – matt
我在聽,但我也在使用資產目錄。 – calvillo