ios uiimage swift xcode6 swift-playground

ios - Parques de juego rápidos con UIImage



swift xcode6 (11)

Estoy trabajando con Xcode 6, y estoy tratando de recrear el código demostrado durante la sesión 401 "Novedades en Xcode 6". He agregado una imagen a Images.xcassets (llamada Muestra) y, dentro del archivo del patio de recreo, estoy intentando acceder a esta imagen, como se muestra.

Mi código es el siguiente (como la demo):

var sample = UIImage(named: "Sample")

Sin embargo, no puedo hacer que funcione como la demo. ¿Me estoy perdiendo de algo?


Sin embargo, no puedo hacer que funcione como la demo. ¿Me estoy perdiendo de algo?

No estoy seguro de dónde debe colocar la imagen para referirse a ella usando solo el nombre, pero obtuve el mismo código para trabajar especificando la ruta completa a la imagen, como:

var sample = UIImage(named: "/Users/my_user_name/Desktop/Image1234.jpg")

Tener que usar el camino completo parece más complicado de lo que debería ser, pero funciona y me permite pasar a problemas más interesantes.


  1. Abra el archivo .playground en Finder.
  2. Crea una carpeta llamada Recursos junto a ella.
  3. Añade las imágenes que quieras a esta carpeta.
  4. En el patio de recreo presione opt-cmd-1 para abrir el inspector de archivos. Deberías ver el patio de recreo a la derecha. Si no lo tiene seleccionado, presione cmd-1 para abrir el Project Navigator y haga clic en el archivo del patio de recreo.
  1. En "Ruta de recursos", seleccione "Relativo al patio de juegos".
  2. Haga clic en el icono de la carpeta debajo y elija la carpeta Recursos creada anteriormente.

Ahora debería tener un paquete que puede usar con el NSImage estándar (llamado: "filename_without_extension"):

Nota: como Xcode sobrescribirá con frecuencia la carpeta .playground, recomiendo usar este método para que la carpeta de recursos no se elimine y vuelva a crear constantemente.


A partir de Xcode 8 Beta 1, puede usar los literales de imagen para importar una imagen en un patio de juegos de Xcode:

Comience a escribir la image para agregar una imagen literal:

Seleccione (o busque) su imagen:

Vea su imagen en línea:


En el área de juegos de iOS con XCode 6 beta 5 (y probablemente más adelante) puede ver la imagen dentro del paquete:

  1. En el área de juegos, presione Cmd + Opt + 1 y haga clic en la flecha debajo de la Ruta de recursos (esto abrirá el Finder)
  2. Pon tu foto en esta carpeta
  3. Acceda con cualquiera de ellos.

    let img = UIImage(named: "logo.png", inBundle: NSBundle.mainBundle(), compatibleWithTraitCollection: nil)

    o

    let path = NSBundle.mainBundle().pathForResource("logo", ofType: "png") let img = UIImage(contentsOfFile:path)

    o en Swift 4:

    let path = Bundle.main.path(forResource:"logo", ofType: "png") let img = NSImage(contentsOfFile:path!)


Esto es lo que me funcionó en Xcode versión 6.1.1.

  1. Cree el archivo del Patio de Juegos en el mismo directorio que el guión gráfico principal.

  2. Abra el panel Utilidades para el archivo del Patio de Recreo, y haga clic en la flecha derecha en la sección Resource Path para agregar sus imágenes en ese directorio.

  3. Probar la imagen dentro del archivo del patio.


Mire la Biblioteca de desarrolladores de iOS-> Ayuda de Playground y busque "Archivos de recursos" y encontrará la respuesta

1 、 Abra el .playground

2 、 Muestre el navegador de proyectos seleccionando Ver> Navegadores> Mostrar navegador de proyectos.

3 、 Arrastra las imágenes a los Recursos

Como seguir


Para Xcode 9:

  • Seleccione la carpeta de recursos
  • Haga clic derecho y luego " Agregar archivos a" Recursos " "
  • Úselo como: let image = UIImage(named: "no")


Puede averiguar la ruta de resourcePath usando estos comandos en el patio de recreo:

var bundle = NSBundle.mainBundle() var path = bundle.resourcePath

El valor predeterminado para mí fue:

/Applications/Xcode6-Beta.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/Library/Xcode/Agents


También tuve algunos problemas con esto.

Desafortunadamente, la respuesta de Chris no funcionó para mí. Sospecho que quizás una versión beta posterior de Xcode 6 pudo haber eliminado esta configuración.

Aquí hay una solución a partir de Xcode 6.0 beta 4 (6A267N) disponible el 21 de julio de 2014. Supongo que esto corresponde a la opción "Zona de juegos interior" anteriormente. Ahí es donde la carpeta de Recursos está dentro del paquete del área de juegos.

Aquí es cómo configurar esto.

Con Finder, o si eres como yo y usas el increíble Path Finder , selecciona y selecciona a la derecha Mostrar el contenido del paquete de la siguiente manera:

Eso revela la carpeta de paquetes de recursos :

Copiar los archivos de imagen en esa carpeta hará el negocio:

let imageNames = ["back-button", "background", "bg_top"] let images = imageNames.map { UIImage(named: $0) }


Tuve dificultades para obtener esta configuración para un área de juegos iOS, a diferencia de una zona de juegos OS X. Tratar de hacerlo utilizando paquetes y rutas relativas lo hace más complicado.

Si solo desea obtener una imagen rápidamente, también puede usar la ruta de archivo absoluta:

En iOS:

# iOS let absoluteImagePath = "/absolute/path/to/image.png" let image = UIImage(contentsOfFile: absoluteImagePath)

Y en OS X

# OS X let absoluteImagePath = "/absolute/path/to/image.png" let image = NSImage(contentsOfFile: absoluteImagePath)


Usando XCode 6.3.1 y ejecutando el patio de recreo en un simulador completo (iOS) tuve que hacer lo siguiente:

  1. Encuentra tu archivo .playground en el buscador
  2. Haga clic derecho -> Mostrar contenido del paquete
  3. Si aún no existe, cree una carpeta llamada Recursos dentro del paquete
  4. Añade tu imagen allí

Luego simplemente ejemplifica con let i = UIImage(named: "filename.png")