¿Por qué algunas aplicaciones de iPhone tienen interfaces de usuario (UI) distorsionadas al ejecutarse en iPads? ¿Cómo pueden las aplicaciones de iPhone ejecutarse en iPads en absoluto?
Respuesta
¿Demasiados anuncios?Internamente, los iPhones y iPads son muy similares. Ambos tienen el mismo sistema operativo iOS, se programan utilizando el mismo lenguaje (Swift u Objective C) y las mismas herramientas (por ejemplo, XCode). Por lo tanto, la lógica de las aplicaciones de iPhone funcionará en iPads y viceversa. Sin embargo, los iPhones y iPads tienen tamaños de pantalla y densidades de píxeles diferentes, lo cual el desarrollador debe tener en cuenta al escribir la aplicación. De lo contrario, la interfaz gráfica (es decir, la pantalla de la aplicación) no se verá correctamente.
Déjame explicarlo con más detalle, supongamos que estás desarrollando una aplicación que muestra un cuadrado al usuario. Podrías simplemente programar el cuadrado para tener lados de digamos L = 2000 píxeles. Sin embargo, diferentes pantallas tienen diferentes números de píxeles y densidades de píxeles distintas. Por lo tanto, en un monitor de 1920x1080, no podrías ver el cuadrado, mientras que en un monitor de 4 o 5k, el cuadrado se mostraría bien. Por ello, como desarrollador, debes escribir tu aplicación de manera que pueda compensar el tamaño y la densidad de píxeles de la pantalla.
El tamaño se puede tener en cuenta mediante la parametrización de tus variables en función del tamaño de la pantalla, en otras palabras, haciendo que la variable sea una función del tamaño de la pantalla. Por ejemplo, digamos que la pantalla tiene ancho = x y alto = y. Para asegurarte de que el cuadrado encaje en la pantalla, podemos establecer la longitud del lado L = min{x/2,y/2}. De esta manera, ningún lado del cuadrado será más grande que la mitad de la altura o el ancho de la pantalla, lo que sea menor. Por lo tanto, al definir cada elemento de la interfaz de usuario en proporción al tamaño de la pantalla en píxeles, todo lo que la aplicación necesita es el nuevo tamaño de la pantalla y puede ajustar la interfaz de usuario automáticamente si se ha codificado como se describe. Si una aplicación no se ha codificado como se describe, entonces no puede cambiar su tamaño para ajustarse a la pantalla y, por lo tanto, solo se puede ver en su resolución original (por ejemplo, la resolución del iPhone) en un subconjunto de la pantalla (por ejemplo, el iPad).
Compensar las diferentes densidades de píxeles es más complicado y se discute en este artículo.
P.D. Investigando para este artículo, descubrí que los desarrolladores de iOS deben enviar 3 imágenes de diferentes tamaños. De esta forma, las imágenes bitmap pueden escalar junto con los elementos parametrizados de la interfaz de usuario. Ver aquí, aquí, aquí. Además, según las Directrices para Desarrolladores de Apple, sección 2.4.1 "Las aplicaciones de iPhone deberían funcionar en iPad siempre que sea posible". . Dirigen a los desarrolladores a este artículo
0 votos
¿Qué nivel de tecnicidad estás buscando con esta pregunta? Apple básicamente toma la pantalla del iPhone y la amplía para el iPad.
0 votos
@fsb sí, pero ¿mi diseño no es igual al del iPhone?
0 votos
¿Por qué piensas que iPhone e iPad ejecutan un sistema operativo muy diferente?
0 votos
Entiendo que ambos sistemas operativos son iguales, estoy preguntando acerca de la variación de pantalla en modo 2x y 1x, las aplicaciones de iPhone son compatibles con iPad con lógica de resolución 1x y 2x.
0 votos
Pregunta similar stackoverflow.com/questions/39193450/…