2010-03-27 5 views
11

je cherchais jusqu'à comment créer une vue par programme et a trouvé le code exemple suivant:Évitez hardcoding taille de l'écran iPhone avec la création de vue programmatique

self.view = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, 480)];

Cela fonctionne très bien, sauf que je n'aime pas que hardcodes la taille de l'écran. Y at-il un moyen de rechercher la taille de l'écran? Un point important que quelqu'un a soulevé est que si l'application est en cours d'exécution pendant un appel téléphonique, l'écran sera légèrement plus petit à cause de la barre verte "retour à l'appel".

Répondre

26

Est-il possible de regarder la taille de l'écran ?

Eh oui:

CGRect screenRect = [[UIScreen mainScreen] applicationFrame]; 

applicationFrame

Cette propriété contient les limites de l'écran moins la zone occupée par la barre d'état, si elle est visible. L'utilisation de cette propriété est recommandée pour récupérer la taille de la fenêtre initiale de votre application . Le rectangle est spécifié en points.

3

[[UIScreen mainScreen] bounds] ou [[UIScreen mainScreen] applicationFrame]

devrait être tout ce dont vous avez besoin pour obtenir la taille plein écran.

Je n'ai utilisé que la version de l'applicationFrame.

(Je suggère également [UIHardware fullScreenApplicationContentRect] mais qui était un code de très vieux - ne pas utiliser)

+2

UIHardware n'est pas une classe dans le SDK actuel. –

+0

Déjà à mi-chemin de l'édition que :-) – Andiih

Questions connexes