plus caracteristicas iphone objective-c screen dimensions

plus - iphone 7 caracteristicas



Iphone: Obtenga las dimensiones de la vista actual o las dimensiones de la pantalla. (3)

¿Alguna de las siguientes líneas funciona para usted?

[[UIScreen mainScreen] bounds].size.height [[UIScreen mainScreen] bounds].size.width

¿Supongo que puedes restar la altura de la barra de estado? Tal vez no entiendo tu pregunta

Hola, quiero obtener el ancho y la altura de mi vista principal. Quiero el valor correcto en modo horizontal o vertical. He intentado lo siguiente:

NSLog(@"aaa %f", [UIScreen mainScreen].applicationFrame.size.width); NSLog(@"zzz %f", self.view.frame.size.width);

Estos dan 300 en modo horizontal y 320 en modo retrato, sí, es más grande en modo retrato. Entonces ... mi vista ocupa toda la pantalla (- barra de estado), así que espero 480 en modo horizontal y 320 en modo vertical. ¿Qué pasó con el resto de los píxeles? ¿Tengo que codificar estos valores? Gracias.


Macros útiles que le darán el tamaño correcto según la orientación del dispositivo:

#define SCREEN_WIDTH ((([UIApplication sharedApplication].statusBarOrientation == UIInterfaceOrientationPortrait) || ([UIApplication sharedApplication].statusBarOrientation == UIInterfaceOrientationPortraitUpsideDown)) ? [[UIScreen mainScreen] bounds].size.width : [[UIScreen mainScreen] bounds].size.height) #define SCREEN_HEIGHT ((([UIApplication sharedApplication].statusBarOrientation == UIInterfaceOrientationPortrait) || ([UIApplication sharedApplication].statusBarOrientation == UIInterfaceOrientationPortraitUpsideDown)) ? [[UIScreen mainScreen] bounds].size.height : [[UIScreen mainScreen] bounds].size.width)


Prueba esto :

UIWindow* window = [UIApplication sharedApplication].keyWindow; NSLog(@"%f",window.frame.size.width);