2010-09-17 5 views
2

Je suis curieux de savoir comment l'iPhone4 fonctionne la taille des éléments de cadre, par exemple:Résolutions d'écran et taille de trame?

- (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]; 
    ... 

Remplit tout l'écran à la fois du iPhone3_sim, iPhone4_sim & iPhone4_device? Je m'attendais à devoir doubler les dimensions pour iPhone4, y a-t-il une sorte de mise à l'échelle automatique de l'application (doublage) qui entre en jeu, et si oui, comment définissez-vous/changez-vous cela?

Vive Gary

Répondre

2

L'iPhone 4 et le plus récent iPod Touch (et probablement futurs dispositifs d'affichage Retina) utilisent un système de « points virtuels » qui ne correspond pas directement aux pixels. Lorsque vous parlez de la position des pixels sur l'écran rétine, vous parlez vraiment de ces "points". Il a autant de points que les anciens affichages avaient des pixels. Tout cela est transparent pour le développeur, donc votre code va simplement faire la bonne chose sur les différents types d'affichage. Pas mal.

+0

Merci beaucoup, savez-vous à la main où cela est décrit dans les docs? – fuzzygoat

+0

@fuzzygoat Ici même: https://developer.apple.com/library/ios/#documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/SupportingResolutionIndependence/SupportingResolutionIndependence.html –

1

La résolution physique et les coordonnées 320 x 480 ne sont pas les mêmes. C'est-à-dire que 1 point de coordonnées logiques n'est pas nécessairement identique à 1 pixel réel. Cette transformation est transparente pour les développeurs. Ceci est similaire à celui d'OpenGL, vous pouvez avoir une fenêtre de 600 x 500 mais définir un système de coordonnées où x va de -10.0 à 10.0 et y va de -100.0 à 100.0. Le point de coordonnées est transformé en position de pixel réelle par le système.

Questions connexes