2012-10-05 23 views
8

En iPhone5 [[UISCreen mainScreen] bounds] .size vuelve como 320x480. Por qué. En todas las publicaciones que estoy leyendo, la gente dice que devuelve el tamaño de pantalla correcto. ¿Que esta pasando aqui? ¿Me estoy perdiendo algo en el archivo .plist o algo así?En iPhone5 [[UISCreen mainScreen] bounds] .size vuelve como 320x480?

BTW Estoy codificando manualmente la GUI, por lo que no hay XIB.

+2

Duplicado de http://stackoverflow.com/questions/12395200/how-to-develop-or-migrate-apps-for-iphone-5-screen-resolution (y muchos, muchos otros ...) –

+0

A poco agradable y no apreciado. ¿Puedes señalar una respuesta específica a mi pregunta? Porque leí cada uno de esos "muchos, muchos otros" y ninguno contestó la pregunta que hice. No quiero decir que no pasé por alto algo, pero tal vez deberías leer mi pregunta nuevamente antes de llegar a esa conclusión. – Brooks

+0

Definitivamente incorrecto en su reclamo de una pregunta duplicada. La respuesta al enlace que publicó enumera simplemente usando límites de pantalla principal. – Brooks

Respuesta

1

Parece que tener una imagen de inicio en su lugar es un requisito previo para que [[UIScreen mainScreen] bounds] funcione correctamente en iPhone5. Este es un problema para aquellos de nosotros que dependemos de los equipos de diseño para nuestras imágenes. Parece que solo tienes que hackear una imagen de lanzamiento y ponerla en su lugar.

¿Realmente no hay una mejor manera? ¿Nadie?

+1

'Default-568h.png' es el camino, punto. Esto se ha discutido extensamente tanto en stackoverflow como en [los propios foros de desarrolladores de Apple] (https://devforums.apple.com/search.jspa?resultTypes=MESSAGE&peopleEnabled=true&q=Default-568h). Como Apple solo se preocupa por la distribución de la tienda de aplicaciones, y todas las aplicaciones de la tienda de aplicaciones deben tener imágenes de inicio, Apple no necesita proporcionar otra forma de habilitar la pantalla de 568 puntos. –

+0

Absolutamente es una mierda. En primer lugar, no tener una forma de hacer esto desde el código parece completamente erróneo. Y en segundo lugar, debería ser perfectamente posible ni siquiera usar una pantalla de bienvenida. Ahora tengo que integrar una pantalla de bienvenida "totalmente negra" para que funcione en uno de los 9 dispositivos seleccionados. Sheesh. Despotricar sobre. –

30

A menos que su aplicación incluya un Default-568h.png en su paquete, se ejecutará dentro de un entorno limitado de pantalla heredado de 480 puntos en el iPhone 5 y no podrá dibujar ni ver ninguna dimensión fuera de ese entorno limitado.

Tenga en cuenta que incluir este Default-568h.png solo se permite cuando se crea una aplicación con Xcode 4.5 y iOS 6 SDK (o, presumiblemente, más tarde) para enviarla a la tienda de aplicaciones de Apple.

Agregado: Al compilar con iOS 8 SDK (o posterior) y ejecutar la aplicación bajo iOS 8 (o posterior), un LaunchScreen.xib también eliminará el entorno limitado de 480 de altura.

+0

Me faltaba eso. Gracias, salvó mi tocino. – SpaceDog

+0

howpaw2 debería obtener la respuesta correcta. +1 – justinkoh

+0

Tenga en cuenta que este sandbox no es un truco sucio, pero es útil para crear un entorno de aplicaciones donde las aplicaciones antiguas no se cuelgan o muestran cosas locas cuando el usuario se actualiza a un iPhone 5 que el desarrollador nunca pudo haber probado su aplicación en el momento en que fue desarrollado. – hotpaw2

Cuestiones relacionadas