Sé que es una nueva característica y esto no puede ser posible, pero me encantaría ser capaz de utilizar un Activo Catálogo para organizar mis bienes, pero puedo acceder a todas mis imágenes mediante programación. ¿Cómo puedo tener acceso a mis imágenes, ahora? ¿Puedo acceder a ellos por sus nombres de archivo como:

[UIImage imageNamed:@"my-asset-name.png"];

Aparentemente, el Activo Catálogo no hace referencia a la extensión, por lo que sería más eficiente para acceder a ella sin el «.png»?

La razón por la que estoy pidiendo en lugar de pruebas para mí es que, incluso después de la eliminación de mis bienes y de Activos Catálogo, entonces la limpieza de la carpeta de compilación, todavía puedo acceder a mi activos en mi aplicación. Esto me impide probar el Catálogo de Activos, cuando me lo implementan.

Después de mirar a través de los Activos de Catálogo, me encontré con el «Contenido.json» para cada uno de los activos y del formato así:

{
  "images" : [
    {
      "idiom" : "universal",
      "scale" : "1x"
    },
    {
      "idiom" : "universal",
      "scale" : "2x",
      "filename" : "[email protected]"
    }
  ],
  "info" : {
    "version" : 1,
    "author" : "xcode"
  }
}

Todavía estoy seguro de cómo debería ser el acceso a ella, pero tal vez esto ayude?

InformationsquelleAutor RileyE | 2013-06-11

4 Comentarios

  1. 130

    Con el fin de tener acceso a la imagen de los Activos de Catálogo, sólo se necesita para acceder al nombre del activo del grupo sin ningún tipo de extensiones.

    Por lo tanto, si usted agregar una imagen con el nombre @"[email protected]" para el Activo de Catálogo, se creará un grupo de elementos llamados my-button.

    Ahora, todo lo que tienes que hacer es acceder a la imagen así:

    //Objective-C
    [UIImage imageNamed:@"my-button"];
    //Swift
    UIImage(named: "my-button")

    También, usted puede editar el activo grupo por el cambio de nombre (sin cambiar el nombre de las imágenes) o cambiar componentes individuales. Esto le permitirá seguir más fácil convenciones de nomenclatura así como un show completamente diferente de los activos entre los diferentes UIScreen scales sin ningún scale cheques.

    Con el fin de incorporar imágenes de los diferentes tamaños de los dispositivos, usted puede necesitar para alternar debajo de «Dispositivos» de la subpartida en el Catálogo de Activos del Grupo de opciones. Aquí es un ejemplo de que alternar (disponible haciendo clic derecho en el grupo).

    • R4 versiones, yo.e 568 apoyo, está ahí. Si ver los atributos de un conjunto de imágenes, puede seleccionar ‘Dispositivo’ Específico de los Dispositivos desplegable y, a continuación, puede agregar un R4 de la imagen, la cual aparecerá en 4″ dispositivos con iOS 7.
    • Hay alguna forma de obtener acceso mediante programación a la segmentación de la información? Además de conseguir la capInsets propiedad de la UIImage objeto?
    • No estoy seguro de por qué había necesidad de conseguirlo por cualquier medio distinto de los UIImage. Y por lo que he visto, no, ya que cada Categoría de la Imagen en el Grupo puede ser una imagen completamente diferente, por lo que no habrá ninguna información general, como cortar, disponible. O me estoy perdiendo algo?
    • Tengo que hacer algunos cálculos para una costumbre superposición de vista y quisiera usar el mismo insertos. Cuando yo únicamente tiene que crear un UIImage para mis cálculos prefiero almacenar el valor necesario en algún otro lugar (redundante).
    • Con el fin de acceder a esa información, el sistema operativo tendría que leer la imagen, de todos modos. UIImage es sólo la comodidad objeto que te ayuda con eso. Con el fin de obtener la cantidad inicial, la imagen debe ser leído al menos una vez, incluso si es manejado automáticamente por el sistema operativo. Usted sólo tendrá que hacerlo manualmente.
    • Lo que yo estaba pensando es una API o un programática y guardar manera de acceder a la información que se almacena en el subyacente, «los Contenidos.json» archivo.
    • Bien. Veo lo que quieres decir. Tal vez ese debería ser un mini-proyecto para la comunidad de PARA iOS 😉
    • imageNamed:@»mi-botón»] se almacena en caché de la imagen, que no siempre se desea
    • ¿Cuál es el problema con el almacenamiento en caché? Es un problema de la memoria? Me he dado cuenta de la liberación una vez que la variable está fuera de alcance / publicado.
    • ¿Alguien tiene swift versión de este código?
    • El código Swift parece ser cambiado a UIImage(named: imageName)
    • Parece ser UIImage.init(nombre: el nombre de esta imagen)

  2. 19

    También Apple ha añadido nueva forma de obtener la imagen de activos con Swift 3, es llamado como ‘Imagen Literal de’ y el trabajo de la siguiente manera:

    El acceso de los Activos Catálogo mediante programación

  3. 4

    Swift

    Usted puede obtener una referencia a una imagen en su activo catelog con

    UIImage(named: "myImageName")

    No es necesario incluir la extensión.

  4. 1

    @RileyE es 100% correcto. Sin embargo, a partir de mis experiencias también vale la pena notar que a veces el activo catálogo de referencia para la imagen puede contener espacios en blanco finales. Usted probablemente no se daría cuenta si el uso de storyboards/xibs como el auto completo agregaremos. Pero cuando se hace referencia a que desde el código no es tan evidente cuál es el problema.

Dejar respuesta

Please enter your comment!
Please enter your name here