2010-06-08 24 views
1

有誰知道在新的屏幕分辨率方面在iPhone 4.0上運行時現有應用會發生什麼?我假設,就像開發iPad一樣,代碼中不應該有硬編碼的屏幕分辨率。iPhone 4.0屏幕分辨率和編寫健壯的代碼

我也想寫一些關於編寫健壯的代碼以便在任何設備上運行良好的最佳方式的建議。例如,檢測屏幕分辨率是不夠的 - 在iPad上,屏幕在體積上更大,因此您可以在其上顯示更多項目。在新iPhone上,屏幕尺寸相同但分辨率更高,因此可能的情況是您不希望顯示更多項目,而只需更高分辨率的版本。

任何幫助將是有益的,

問候

戴夫

編輯:我看過其他類似的帖子,我想我真的想知道什麼是什麼是推薦的方式來以強大的方式爲所有App Store設備編寫代碼,以便a)全部工作b)充分利用設備。

+0

可能重複的[如何適應不同的iPhone 4的屏幕分辨率?](http://stackoverflow.com/questions/2992360/how-to-accommodate-for-the-different-screen-resolution-of -iPhone-4) – 2010-06-08 19:04:55

回答

1

UIKit經過重新設計,以便舊版應用程序可以在iPhone 4中不加修改地工作。然後您可以做幾件事情,一些是編程式的,一些是通過向您的應用程序包添加更高分辨率的圖像。

首先,最簡單的方法是,您可以在名稱中包含新應用程序使用的雙精度圖像,後綴爲@ 2x。即Event.png以及[email protected]。 [UIImage ImageNamed:]將自動查找具有此後綴的文件,前提是它在較高分辨率下運行。

所有其他UIKit的東西現在使用點而不是像素。所以對於新舊應用程序,全屏仍然是320 x 480點。這幾乎意味着一切都將工作,包括觸摸等。雖然他們現在可能會返回一小部分點。

到目前爲止唯一真正的疑難雜症似乎是如果您使用CGBitmapContextCreate,因爲它使用像素並需要一些jiggery - pokery。