guidelines - toolbar ios
¿Cuál es la unidad de medida en Xcode? (3)
Esto puede sonar tonto, pero cuando estoy trabajando con tamaños en Xcode, el tamaño total del marco es igual a 320 * 568 (ancho * alto). Estoy bien con eso. Pero la resolución del teléfono es en realidad diferente. El iPhone 4S es 640 * 960 y el 5 y las generaciones siguientes son 640 * 1136.
Sé que el último es exactamente el doble de lo que usa xcode como unidades, por lo que mi pregunta es:
¿Qué unidad de medida utiliza XCode? Si hace píxeles, ¿por qué no usar el tamaño / resolución del teléfono como referencia?
Xcode 10.1, Swift 4.2 respuesta
Xcode utiliza puntos. Pero en el caso de la siguiente explicación, qué es el punto y la cantidad de píxeles en el punto, depende del dispositivo de retina que esté utilizando. Basicamente en dispositivos sin retina 1 punto = 1 píxel. En los modelos iphone 6plus y más nuevos "plus", Apple agregó 3x de resolución.
En dispositivos de retina normales 1 punto = 4 píxeles, NO 2 !! luego la manzana empacando ese pixel en punto. En los modelos iPhone plus, apple también utiliza el método de reducción de resolución con factor 1.15, lo que significa, por ejemplo, que si tiene 1242 * 2208, debe dividirse en 1.15 y obtener su FullHD 1080 * 1920 en su dispositivo. https://www.paintcodeapp.com/news/ultimate-guide-to-iphone-resolutions
Creo que la mejor respuesta, que es:
Utiliza puntos. En los dispositivos de la retina, 1 punto es igual a dos píxeles. En dispositivos sin retina, 1 punto equivale a 1 píxel.
está mal debido a la desactualización. He proporcionado un enlace a developer.apple.com.
https://developer.apple.com/documentation/uikit/uiscreen/1617836-scale
Utiliza puntos. En los dispositivos de retina, 1 punto equivale a cuatro píxeles. En dispositivos sin retina, 1 punto equivale a 1 píxel.
Echa un vistazo a la documentación de Apple sobre el dibujo y la impresión en iOS. https://developer.apple.com/library/ios/documentation/2ddrawing/conceptual/drawingprintingios/GraphicsDrawingOverview/GraphicsDrawingOverview.html#//apple_ref/doc/uid/TP40010156-CH14-SW7
Especialmente la sección "Puntos Versus Píxeles".
Editar Para responder a su iPhone 4S vs 5 y la pregunta de la próxima generación. Estos son los tamaños reales de pantalla. Las resoluciones son diferentes. Las pantallas del iPhone 4S y 4 son 320x480 puntos, o 640x960 píxeles. Las pantallas de iPhone 5, 5C y 5S tienen 320x568 puntos, o 640x1136 píxeles. Si está trabajando con xibs, puede que esté viendo uno de los tamaños anteriores porque los xibs tienen un tamaño definido. Ahí es donde entran en juego las restricciones de diseño automático. Indica en el xib o el guión gráfico cómo desea que los elementos se redimensionen / reubiquen en la pantalla. Puede usar puntales y resortes para decidir cómo reubicar los elementos en su vista en lugar de la distribución automática. Está bien. Incluso si su xib / storyboard es de tamaño iphone5, si verifica el tamaño de la pantalla en sus métodos viewDidAppear cuando ejecuta la aplicación en un simulador o dispositivo iPhone4 / 4S, verá que sus límites de vista tienen el tamaño del dispositivo correspondiente. Es mejor usar puntos en lugar de píxeles porque ayuda al desarrollador a abstraerse de las resoluciones. No tiene que preocuparse por la cantidad de píxeles que tiene un punto, solo ubica los elementos en los puntos de la pantalla y deja que el sistema se encargue de la resolución por usted.
Consulte también UIKit Size (Points)
y UIKit Scale factor
: https://developer.apple.com/library/archive/documentation/DeviceInformation/Reference/iOSDeviceCompatibility/Displays/Displays.html