¿Cómo funciona el soporte de vectores en Xcode 6?
Cuando intento cambiar el tamaño de una imagen, parece irregular, ¿qué da?
fuente
¿Cómo funciona el soporte de vectores en Xcode 6?
Cuando intento cambiar el tamaño de una imagen, parece irregular, ¿qué da?
Ahora puede referirse a su imagen por su nombre, tal como lo haría con cualquier archivo .png .
UIImage(named: "myImage")
El soporte de vectores es confuso en Xcode, porque cuando la mayoría de las personas piensan en vectores, piensan en imágenes que pueden escalar hacia arriba y hacia abajo y aún lucir bien. Sin embargo, Xcode 6 y 7 no tienen soporte completo de vectores para iOS, por lo que las cosas funcionan de manera un poco diferente.
El sistema vectorial es realmente simple . Toma su .pdf
imagen, y crea @1x.png
, @2x.png
y @3x.png
activos en el tiempo de construcción . (Puede usar una herramienta para examinar el contenido de Assets.car para verificar esto).
Por ejemplo, suponga foo.pdf
que tiene un activo vectorial de 44x44. En el momento de la compilación generará los siguientes archivos:
[email protected]
a 44x44[email protected]
a 88x88[email protected]
a 132x132Esto funciona igual para cualquier imagen de tamaño. Por ejemplo, si tiene bar.pdf
cuál es 100x100, obtendrá:
[email protected]
a 100x100[email protected]
a 200x200[email protected]
a 300x300
resizableImageWithCapInsets:
y dividiendo sus valores de corte por[UIScreen mainScreen].scale
CGFloat scale = [UIScreen mainScreen].scale; UIImage *image = [[UIImage imageNamed:@"my_unsliced_asset"] resizableImageWithCapInsets:UIEdgeInsetsMake(10 * scale, 11 * scale, 12 * scale, 13 * scale)];
En Xcode 8, aún puede agregar un pdf, crear un nuevo conjunto de imágenes y, en el Inspector de atributos, establecer la opción Escalas en Escala única.
fuente
Este es un complemento de la excelente respuesta de @Senseful.
Cómo hacer imágenes vectoriales en formato .pdf
Diré cómo hacer esto en Inkscape, ya que es gratuito y de código abierto, pero otros programas deberían ser similares.
En Inkscape:
Notas:
Si ya tiene una imagen .svg que tiene el tamaño de página incorrecto, haga lo siguiente:
Para convertir un archivo .svg en un .pdf, también puede encontrar utilidades en línea para hacer el trabajo por usted. Aquí hay un ejemplo de esta respuesta . Esto tiene el beneficio de permitirle configurar el tamaño .pdf fácilmente.
Otras lecturas
fuente
Para aquellos que aún no se actualizaron, hubo cambios en Xcode 9 (iOS 11).
Novedades de Cocoa Touch (WWDC 2017 Sesión 201) (@ 32: 55) https://developer.apple.com/videos/play/wwdc2017/201/
En pocas palabras, el Catálogo de activos ahora incluye la nueva casilla de verificación en el Inspector de atributos llamada "Preservar datos vectoriales". Cuando se marca, los datos PDF se incluirán en el binario compilado, lo que aumenta su tamaño, por supuesto. Pero le da la oportunidad a iOS de escalar los datos vectoriales en ambas direcciones y proporcionar buenas imágenes (con sus propias dificultades). Para iOS por debajo de 11, se utilizan los antiguos mecanismos de escala descritos en las respuestas hacia arriba.
fuente
Puede usar archivos PDF normales dentro de su proyecto como imágenes vectoriales y renderizar imágenes de cualquier tamaño con esta extensión. De esta manera, es mucho mejor porque iOS no generará imágenes .PNG de sus archivos PDF, además puede renderizar imágenes con el tamaño que desee:
fuente