2013-07-19 118 views
9

我只是提供這個問題的信息,並清除我的概念iOS應用程序(Retinanon-retina設備)中的圖像。iOS應用程序非視網膜和視網膜圖像概念

我目前做的是

當我開發一個應用程序iPhone,我必須表明在圖像上使用Interface builderUIButton我拿兩張圖片讓說讓以下尺寸

的假設submit.png按鈕圖像
  1. 100x100的視網膜顯示PX(submit.png)
  2. 200x200的PX([email protected]

而在Interface builder我會將尺寸設置爲UIButton 100x100像素,它的正常工作是完美的。

問:

我們爲什麼不把唯一的單張影像可以說submit.png

  1. 200×200像素(submit.png)

並設置UIButton尺寸100×100 px在interface builder和相同的圖像將在retinanon-retina設備中使用。

使用兩幅圖像而不是單幅圖像的視網膜大小的實際原因是什麼?

另一個類似的問題,

iPhone 5僅在retina顯示可用,但我們必須把它Default圖像爲[email protected]。爲什麼在2x?

+0

你有沒有嘗試刪除正常的圖像,並直接給界面生成器上的視網膜圖像。即通過界面構建​​器直接在UIButton上分配[email protected]。我們一般這樣做,它在正常的設備中工作,因爲UIButton的大小會相同我猜 –

+0

是的,我通常做你提到的一樣,但我想知道爲什麼蘋果文檔說,使用兩個不同的圖像,並仍然我無法獲得任何真實的源信息。 –

回答

4

使用非視網膜圖像的主要目的是由於所需的縮小尺寸操作,在舊設備上提高性能和圖像質量。

因此,對於較舊的設備性能,您應該使用非視網膜圖像。

+0

是否有任何解決方案,我們可以只使用一個圖像的舊版本和較新版本。我的意思是我們可以用任何類型的代碼或東西來做到這一點? –

+0

我認爲沒有。因爲我們需要較老設備的非視網膜圖像。如果我們使用視網膜圖像,那麼性能會下降。 –

+0

這意味着我們必須有兩種類型的圖像,一種是非視網膜,另一種是視網膜,如果應用程序需要在較舊的設備中支持。 –

1

爲什麼我們必須提供2張圖片的原因是因爲仍然有人在運行早期設備,不支持視網膜顯示。他們缺乏像運行視網膜的像素數量,所以我們提供正常數量。 iphone 5在圖像文件中需要@ 2x的事情是因爲@ 2x文件名是處理視網膜顯示圖像的標準慣例。

這就是爲什麼當你問爲什麼我們不把200x200圖像放在100x100按鈕中。那麼,如果你正在運行視網膜設備,那個按鈕中的圖像看起來就像你畫的那樣;然而,如果你正在運行像3gs那樣的沒有視網膜的東西,那麼你那個按鈕中的圖像很可能會變得很塊,或者因爲像素不符合設備的比例而模糊不清。

希望能幫助你清理任何東西!

9

在圖像的IOS概念的也很清楚,如果你,如果你想創建圖像

100×100像素所以它必須與163分辨率PPI閱讀本文檔Custom Icon and Image Creation Guidelines

對於實例submit.png NON-retina device

200×200像素所以它必須與3 26分辨率PPI[email protected] Retina device

FOR ipad公司: -

400×300像素所以它必須與264分辨率PPI[email protected]~ipad.png Retina iPad device

200×150像素因此它必須與132分辨率ppisubmit~ipad.png Non-retina iPad device

看看這個圖片: -

enter image description here

圖片來源從This

我們灌輸@ 2倍時,我們要指定不同版本的iPad的圖像和蘋果手機。包含用於高分辨率圖像的@ 2x修改器是新增功能,可讓系統知道圖像是標準圖像的高分辨率變體。

這是針對OS所需大小的窗口,以填補iPhone 5 display.has變調張貼在此,你可能需要做出其他大小相關調整一個writeup

希望這是圖像分辨率和它的大小的有用信息。

+0

能否告訴我你從哪裏得到有關決議的信息?比如iPhone的163和326分辨率。由於我的設計師設計了72 DPI的視網膜大小,然後用相同的DPI使圖像變小,並將圖像轉換爲非視網膜大小。 –

+1

http://www.apple.com/iphone/specs.html看看這裏有鼠標蘋果iphone5產品**在326 ppi的1136-640像素分辨率**所以非鼠標約束它的一半163 –

+0

什麼這是否意味着?我們應該爲320x480像素大小的應用程序設計應用程序,其中326DPI用於視網膜,320x480像素大小,163 DPI用於常規設備?或者我們應該在72DPI的尺寸下設計320x480像素的正常尺寸,在72DPI的尺寸下設計640x960像素的視網膜尺寸? –

-1

1-如果你想支持你的應用程序,視網膜和非視網膜設備,你需要遵循文件名標準。如果您只想支持視網膜設備,則無需添加默認圖像(button.png)。如果您想支持視網膜和非視網膜設備,則需要在界面生成器中添加這兩個圖像,無需像@ 2x一樣添加全名。您只需添加圖像的名稱。主要基礎是兩個圖像的名稱應該相同。 Ex: Non retina-->Button.pngRetina-->[email protected]IE-->Button

2 - iPhone5的是隻有視網膜顯示。所以如果你爲iPhone5添加默認圖像,它會自動運行在iPhone5設備上。 Apple正在遵循這些標準。所以我們需要遵循。

注意: Xcode會自動關心所有這些類型的圖像。

1

是的,您可以只使用視網膜圖像爲視網膜和非視網膜設備。如果你在imageviews,按鈕等中使用它們,使它們成爲scaletofill/aspectfill/aspectfit或任何你想要的。

但是,這個問題是不必要的大尺寸圖像將被加載到內存中,圖像的大小調整也需要一些處理。

使用單獨的圖像確實會增加App Bundle的大小,但會降低應用程序在運行時的實際RAM使用率。

相關問題