2016-11-09 87 views
0

我有一個關於資產的問題。當我的圖像必須是屏幕的一半時,我需要多少圖像文件? 對於iPhone 5我需要@ 1x,@ 2x和@ 3x;對於iPhone 6,我需要@ 1x,@ 2x和@ 3x;對於iPhone 7 ...圖片中的大小iOS

這是正確的方法嗎?如果是這種情況,我將不得不通過代碼獲取設備的大小,然後根據大小使用正確的圖像?

如果這不是正確的方法,並且我必須使用單個可縮放圖像製作PDF格式的獨特圖像,那麼該圖像的像素大小(寬度和高度)應該是多少。

這事,我掙扎,因爲它是使用固定的圖像,所有我需要的是@ 1X,2X @ @和3X所有設備

非常感謝您的時間不同!

+0

iPhone 5的只需要'@ 2x'。 iPhone 6只需要'@ 2x'。 iPhone 6+只需要'@ 3x'等 – rmaddy

+0

嗯,但是如果我需要@ 2x用於不同的設備(不同的高度),我是否必須通過代碼獲取設備的大小,然後將正確的圖像?這是做到這一點的正確方法嗎? –

+0

@DanielFernandezY不,你會不會自動得到正確的圖片,你需要的唯一的名字是沒有後綴的名字 – Tj3n

回答

1

這是xcassets的一個很好的功能,就是他們爲你處理這些東西。您不需要以編程方式獲取設備類型並指定設備將需要的圖像。例如,如果您使用的是故事板,只需將UIImageView的圖像屬性分配給xcassets文件夾中包含的圖像,然後在運行時根據運行該設備的設備使用正確的圖像大小。假設您在XCAssets中給出了@ 1x,@ 2x和@ 3x圖片大小。

請務必將它從Finder中圖片爲所有3盒:

enter image description here

+0

這適用於像圖標這樣的固定大小的圖片。它不適用於設備屏幕大小的圖像。 iPhone 5和iPhone 6都是「@ 2x」,但它們具有不同尺寸的屏幕。 – rmaddy

+0

我明白了,在這種情況下,它將取決於您想要顯示的內容。如果它是純色,只需使用自動佈局約束即可確保圖像佔用屏幕的一半,就像您想要的一樣。如果您有兩個專門爲iPhone 5和iPhone 6準備的特定圖像,那麼您需要檢測設備類型。 –

+0

所以我必須檢測設備類型,然後選擇我想要使用的圖像。這意味着我需要爲iPhone 5分配@ 2x,爲iPhone 6/6分配2倍,爲iPhone 6+/6s +分配3倍......這是最好的方式嗎?或者我可以使用與PDF圖像類似的東西嗎? –