Jetez un oeil à UIScreen.
par exemple.
CGFloat width = [UIScreen mainScreen].bounds.size.width;
Jetez un oeil à la applicationFrame propriété si vous ne voulez pas que la barre d'état inclus (n'affecte pas la largeur).
Mise à JOUR: Il s'avère UIScreen (limites ou -applicationFrame) ne prend pas en compte l'interface en cours d'orientation. Un plus bonne méthode serait de demander à votre UIView de ses limites, en supposant que ce UIView a été auto-rotation par elle-Vue-contrôleur.
- (void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation
{
CGFloat width = CGRectGetWidth(self.view.bounds);
}
Si l'affichage n'est pas auto-rotation par la Vue du Contrôleur, alors vous aurez besoin de vérifier l'interface d'orientation pour déterminer quelle partie de la vue des limites est la "largeur" et "hauteur". Notez que le cadre de la propriété vous donnera le rectangle de la vue dans la UIWindow de coordonnées de l'espace (par défaut) ne pas être prise de l'interface d'orientation en compte.