2010-09-17 130 views
2

我很好奇的iPhone4如何運作出框架項目的大小,例如:屏幕分辨率和幀大小?

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { 
    MyController *tempController = [[MyController alloc] init]; 
    [[tempController view] setFrame:CGRectMake(0.0,20.0,320.0,460.0)]; 
    [self setMyController:tempController]; 
    [tempController release]; 
    ... 

這個既充滿了iPhone3_sim,iPhone4_sim & iPhone4_device的整個屏幕?我有點期待iPhone4的尺寸翻倍,是否有某種自動應用縮放(加倍),如果有的話,你如何設置/改變它?

乾杯加里

回答

2

在iPhone 4和最新的iPod Touch(並且假定未來的視網膜顯示裝置)使用「虛擬點」系統,其不直接映射到像素。當你談論視網膜顯示器上的像素位置時,你真的在​​談論這些「點」。它與舊顯示器具有像素一樣多。所有這些對開發人員來說都是透明的,所以你的代碼會奇蹟般地在不同的顯示類型上做正確的事情。很不錯。

+0

非常感謝,你知道這在文檔中描述過嗎? – fuzzygoat 2010-09-17 12:48:56

+0

@fuzzygoat在這裏:https://developer.apple.com/library/ios/#documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/SupportingResolutionIndependence/SupportingResolutionIndependence.html – 2010-09-17 15:12:33

1

物理分辨率與座標320 x 480不一樣。即1個邏輯座標點不一定與1個實際像素相同。這種轉變對開發者來說是透明的。這與OpenGL中的類似,你可以有一個600 x 500的窗口,但設置一個座標系統,其中x運行到-10.0到10.0,y運行到-100.0到100.0。系統將座標點轉換爲實際的像素位置。