2012-08-31 107 views
0

我對使用視網膜和非視網膜顯示管理不同大小的圖像有點困惑。管理視網膜UIButton圖像大小

  1. 我在故事板添加自定義按鈕並添加一些文本,然後添加和backgroundImage,這是在Illustrator做了載體(寬度:630 /高度:130):

    UIImage *img = [UIImage imageNamed:@"iPad1_orange_button.png"]; 
    [myButton setBackgroundImage:img forState:UIControlStateNormal]; 
    

按鈕顯示出來:

enter image description here

...按鈕出來非常小。

我有@ 2x視網膜的另一個圖像,但出來相同的大小。

我的問題是如何管理圖像大小的按鈕的大小。我需要手動設置按鈕的大小嗎?另外,當我在Illustrator中創建一個與XCODE中使用的按鈕具有相同像素大小的按鈕並將其導出爲.png時,將其添加到XCODE並將其拖入Storyboard中,它會非常大。

+0

@ 2x圖像的寬度和高度是多少? – Ben

+0

按鈕的框架是什麼?將其設置爲與圖像相同的尺寸。 –

+0

1260 x 265像素2x – PeterK

回答

1

只是一個快速澄清:

故事板尺寸像素不

iPhone 4S有640x960(x,y)@ 326ppi。 xCode尺寸是320by460(x,y)。只需取出數字並將其轉換爲適當的像素大小即可。

IE:如果你想要一個在故事板上100寬100高的按鈕,你將創建一個100 *(640/320)像素寬和100 *(960/460)像高的圖像(我相信我的數學是正確的...)。

根據你正在爲你建造什麼,你需要不同的圖像來迎合不同的設備。

另一方面,術語視網膜顯示沒有指定px的明確標準px。如果我記得正確的話,這是蘋果創造的一個術語,基本上意味着屏幕有足夠的像素,人眼(因此視網膜)將無法看到鋸齒。

與英特爾的術語Ultrabook類似,沒有REAL spec floor/ceiling只是一個營銷策略。

+0

HA!我喜歡關於Ultrabook的產品線! –

0

想想尺寸和你會認爲像素是一個「密度獨立像素」。當涉及位置和大小時,您總是以原始大小工作,但操作系統要爲您處理不同的分辨率。現在我們有原始尺寸和視網膜,這是X2的密度,但這可能會改變。您永遠不需要手動更改給定設備的分辨率。

0

這很簡單:

  • 使按鈕窗體的正常清晰度圖片
  • 的大小,當您加載具有的UIImage imageNamed圖像:像這樣做

的UIImage * IMG = [UIImage imageNamed:@「iPad1_orange_button」];

*注意我刪除了文件擴展名(.png) - 這指示UIImage選擇適當的分辨率版本,常規或@ 2x。 iOS將以與正常的res圖像相同的幀大小顯示圖像的2x版本。很簡單。