2011-08-12 57 views
0

我有3個簡單的問題,非常相關:視網膜對所有圖像都有效@ 2x,我如何測試視網膜顯示?

  1. ,如果用戶使用的是視網膜設備如何檢測?

  2. 我想在應用程序中的文檔中保存一個圖像,如果我檢測到他們使用的是視網膜顯示手機並保存以@2x.jpg結尾的圖像,它將如何處理導入的圖像,自動去那一個,而不是在視網膜設備?

  3. 如果我要引用一個不存在的圖像,但存在@2x.jpg版本的圖像,是否會默認使用該圖像?

回答

5
  1. 使用[UIScreen mainScreen].scale,這是2.f時,它的視網膜屏幕。
  2. 我不確定,但我認爲它也會在這裏自動檢測@2x -versions(只要您使用UIImage加載它們)。
  3. 如果是視網膜屏幕,它會首先查看@2x -version,如果它不存在,它將回退到默認版本。如果該版本不存在,它將返回nil。然而,非視網膜屏幕將永遠不會看到@2x -version。

你叫它x2.jpg -file,但它不是:

  • 你默認的文件是一樣的東西background.png
  • 然後你的視網膜文件應該像[email protected]
  • 使用UIImage *image = [UIImage imageNamed:@"background.png"];加載圖片。
  • 在大多數情況下,你不需要知道它是否是視網膜屏幕,iOS會處理這個問題。
+0

感謝您的幫助。 – Andrew

+0

不客氣。還請注意,這些圖像不能是'jpg's(AFAIK)。他們需要成爲'png',我不知道我是否清楚。 – elslooo

+0

嗯,那麼UIImageJPEGRepresentation對此沒用了嗎? – Andrew