2012-03-19 60 views
5

我有一個聽起來奇怪,但作爲一個新手有點的,我猜測毫無疑問是一個愚蠢的問題一個問題...單獨的故事板的iPhone/iPhone的Retina/iPad的/ iPad的視網膜

我需要所有四種設備都有單獨的故事板?

現在我有兩個故事板,一個用於iPhone和一個用於iPad,但是我得到的視圖幀始終顯示設備的大小,而不是視網膜設備。因此,例如在iPhone上,我的視圖尺寸爲320x460,對於iPhone Retina,它顯示的是相同的...同樣適用於iPad。

謝謝

+0

不要誤會,有很多愚蠢的問題!誰說沒有愚蠢的問題,只是愚蠢的答案,是一個白癡。然而,這是一個很好的問題! – Jake 2012-03-19 16:18:20

回答

5

不,你沒有。是的,這與開發者的觀點相同。 iOS將進行所有調整。唯一重要的問題是,如果您在應用程序包中使用圖像(如選項卡圖標),則必須添加一個用於不修複視網膜(雙分辨率)的圖像。例如,如果您有24x24像素的icon.png,則必須添加48x48像素的[email protected]。 iOS會自動替換你的圖標作爲視網膜設備中的「@ 2x」文件名。

+0

好的,理解。這就是我的想法,但對於圖像,如果指定了它,它將總是選擇@ 2x文件或〜ipad文件。另一種方法是,是否有情況需要檢測設備並更改文件名兩個引用不同的圖像? – LilMoke 2012-03-19 16:18:39

+0

我不確定在運行時是否會檢測到例如您下載的圖像。但是我確定你可以在檢測視網膜顯示時指定視網膜準備好的圖像。這個答案可以幫助你檢測http://stackoverflow.com/a/3294120/1014773 – LuisEspinoza 2012-03-19 16:24:08

+0

謝謝,我會看看。我不是在談論我下載的圖像,只是從我的主包中獲取圖像。 UIImage會不會選擇正確的圖像,這真的是一個問題。 – LilMoke 2012-03-19 16:25:52

0

你可以區分你的應用程序的圖形內容,但目前的視圖/故事板我不認爲你可以。

如果你想利用視網膜屏幕的分辨率,你可以使用@ 2x技巧。

這由以下部分組成,我們給應用程序的icon_

  • 的icon.png(在57x57像素爲iPhone默認的圖標)
  • [email protected](默認圖標的例子與114x114像素視網膜顯示),用於將在ipad的像素最高72x72

  • 圖標〜iPad.png(默認圖標)

  • [email protected](對於ipad的無線默認圖標iphone th視網膜顯示144x144像素)

這個技巧對所有圖形內容都很有用,並且在製作接口和代碼時不需要額外的代碼。當必須指定要使用的圖形文件時,請始終指定沒有「@ 2x」的文件。

我希望這會有幫助。

+0

是的,應用程序圖標的例子總是被使用......但是這種技術一直工作?這是否總是適用於UIImage,還是他們需要指定正確圖像的時代? – LilMoke 2012-03-19 16:24:39

+0

它始終有效,不需要額外的代碼來更改圖像。你只能引用正常的圖像,而iOS會完成剩下的工作;)如果你有興趣下載這個示例代碼,你會看到它的實際應用:(鏈接)http://www.angeldiaz.es/idec-upf/leccion07/ Example37.tar.gz請記住更改模擬器目標以查看其工作。 – angeldiaz 2012-03-21 10:18:21

+1

這是不夠的。並非所有的UIImage都有一個相關的文件名。您可以從圖形上下文獲取UIImage,在這種情況下,您必須注意比例值的半/雙分辨率問題。 – hariseldon78 2012-07-28 16:53:48