2009-08-10 59 views
5

我在開發我的應用程序時一直關注的一件事是圖像和視圖組件的硬編碼幾何圖形,它們被視爲理所當然的當代顯示器的320x480特性。iPhone屏幕分辨率在未來硬件中的變化

我在StackOverflow和在屏幕尺寸硬編碼的例子/教程中見過很多答案。我爲320x480大小的背景製作了一些紋理,但是我很小心地將它們製作爲UIViewContentModeScaleToFill,但我並不完全肯定IB中的像素定位會導致硬件特定的接口。

在某些時候,我想象(並希望!)iPhone會有不同的顯示分辨率。

  • 您是否正在爲開發商規劃 這個?

  • 你在做什麼來解決 未來的 可變屏幕分辨率?

(假設當然,有人會想超過640KB以上,噢,對不起,分辨率分辨率320x480 :))

請參閱以下網址: http://developer.apple.com/iphone/library/documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/SupportingResolutionIndependence/SupportingResolutionIndependence.html#//apple_ref/doc/uid/TP40007072-CH10

對於蘋果iOS4的答案。

+1

我想你的意思是320x480。 – David 2009-08-10 15:58:41

回答

2

你應該。如果有方法從API中檢索這些指標,則應該這樣做。早在mac的時代,很多硬編碼的9「屏幕,當我得到我的mac XL(本質上是一個內置mac主板的lisa機箱)時,它有一個12」的屏幕和數量爲「沒有擴展的「破碎」應用程序就是傳說。

簡而言之,如果硬件上會發生一些根本性的變化,Apple肯定會這樣做。任何能夠成功改變芯片平臺的公司都不用擔心更新硬件,軟件和其他任何可以讓事情變得更好的東西。

2

我認爲你在你的問題描述中無意中回答了你自己的問題(你打算這麼做)。如果你看到的很多示例代碼沒有考慮到它,那麼許多開發人員(從示例代碼中複製/粘貼)沒有考慮到它。

我會想象一下,如果蘋果將允許其他決議,他們會有一種方式在舊版應用程序的兼容模式下運行,或者一種方法來檢查所需的分辨率(默認情況下是現有的分辨率所以較舊的應用程序不必更改)。

+0

您可以使用UIView.autoResizingMask和其他各種旋鈕,並且可以獲得屏幕分辨率。這些都是可用的,並且* I *佔了它,但我想知道其他開發人員是否(例如你?) – groundhog 2009-08-10 16:19:07

+0

我想這就是我想說的。雖然您可能已經足夠了解這些技術......如果開發人員可用的大多數示例代碼沒有將解決方案考慮在內,那麼(IMO)大多數開發人員不會 – 2009-08-11 13:27:13

3

您可能想要查看適用於OS X的NSScreen和適用於iPhone的UIScreen

從文檔:

「......你應該使用的 此對象的屬性,以獲得推薦 框架矩形爲您 應用程序的窗口。」