2015-11-08 46 views
0

因此,這裏是我的問題:IOS雪碧套件圖片跨設備

我想充分利用Retina顯示屏,以及支持儘可能多的設備成爲可能。

我想加載一個背景圖像,將完全填充每個設備上的屏幕。我讓藝術家創作了2730x1536的圖像,這是一個16x9的長寬比,並且他考慮到我必須在4:3時裁剪ipad。

從我讀過的內容來看,一個@ 3x圖像需要是2208x1242,那麼iphone 6 +的視網膜顯示器應該將其縮小到1920x1080物理像素,使圖像看起來清晰並充分填充我的橫屏iphone 6+屏幕。

我把圖像放在我的場景中作爲SKSpriteNode。我需要設置我的@ 3x(2208x1242)圖像以利用視網膜而不縮放圖像需要多大的尺寸?

下面是一個例子:

// Place a high res background image that perfectly fills my Landscape 6+ screen  
var image = SKSpriteNode(texture: SKTexutre(imageNamed: "background"), color: SKColor.clearColor(), size: CGSize(width: ????, height: ????)) 

什麼我需要設置我的身高和2208x1242的圖像且scaleMode的寬度完美地填補了@ 3倍iphone 6+的視網膜顯示屏,如果我鎖定肖像遊戲?

在此先感謝!

+0

我也無法找到關於此主題的任何權威性文檔。如果有人知道任何,將不勝感激! – luckybroman5

回答

0

在正常模式下(非變焦),人像iPhone 6+顯示屏爲414x736點。你的UIImageView應該被設置爲全屏,使用約束到超視圖的邊緣。就像你說的那樣,你想提供尺寸爲1242x2208的3x圖像,然後將其縮小到1920x1080。我建議將縮放模式設置爲「居中」,以便邊緣能夠以較小的分辨率裁剪。這guide可能會幫助你更多地瞭解它。

+0

所以我最大的問題是如何確定3x尺寸是否被使用?如果我有兩個帶有\ @ 2x後綴和@ 3x後綴的圖像,應用程序如何決定使用\ @ 3x?並且這個標籤只意味着xcassets中的某些內容?感謝你的回答! – luckybroman5

+0

有一個簡單的方法可以「確定」知道正在使用的尺寸 - 創建一個測試圖像,在1x版本中有一個「1」,在2x版本中有一個「2」等。您會看到它使用1x非視網膜設備上的版本,視網膜設備上的2x版本以及iPhone6 +上的3x版本。單個圖像應該用@ 1x後綴命名,但如果使用資產目錄,則不需要這樣做 - 只需將圖像拖入適當的插槽。 – antsyawn