ios - create - UIImage no se muestra usando Swift
uiimageview set image swift (5)
Guardé mis imágenes en la carpeta "Images.xcassets" y mis imágenes no aparecieron en mi dispositivo, pero sí en el simulador. Para mostrar las imágenes de "Images.xcassets" en mi dispositivo (iPhone 5), la solución que funcionó para mí fue copiar los recursos del paquete para la carpeta "Images.xcassets"
Para copiar los recursos del paquete: Seleccione Destino> Fases de la construcción> Copiar los recursos del paquete> Seleccione "+" (Agregar elementos)> Seleccione "Images.xcassets
El código escrito en Swift para mostrar UIImages funciona en el simulador de iOS 8.0 pero no en un teléfono con IOS 7.0 por algún motivo.
let image1 = UIImage(named: "img1")
let imageview = UIImageView(image: image1)
self.view.addSubview(imageview)
let image2 = UIImage(named: "img2")
let button = UIButton(frame: CGRect(origin: CGPoint(x: 0, y: 100), size: image2.size)
button.setImage(image2, forState: UIControlState.Normal)
self.view.addSubview(button)
Las imágenes están en el lugar correcto con el tamaño correcto y las referencias válidas, simplemente no se muestran, excepto en el simulador que ejecuta iOS 8.
¿Es esto un problema para alguien más?
EDITAR: Eliminar de Images.xcassets, limpiar el proyecto y copiar los archivos en el paquete parece funcionar para mí.
Para poder visualizar las imágenes tienes que cambiar el código de la siguiente manera.
let image1 = UIImage(named: "img1.jpg")
let imageview = UIImageView(image: image1)
self.view.addSubview(imageview)
let image2 = UIImage(named: "img2.jpg")
let button = UIButton(frame: CGRect(origin: CGPoint(x: 0, y: 100), size: image2.size)
button.setImage(image2, forState: UIControlState.Normal)
self.view.addSubview(button)
Recuerde que swift no admite imágenes en formato .png, es compatible con formato .jpg.
Parece que hay una desconexión entre los votos para la pregunta y las otras respuestas, así que agregaré una respuesta genérica sobre cómo mostrar una imagen en Swift. Eso es lo que originalmente me trajo aquí de todos modos.
Cómo mostrar una imagen en Swift
Utilice UIImage
para obtener una referencia a la imagen en el paquete principal.
let image = UIImage(named: "rocket.png")
imageView.image = image
Notas
-
imageView
es unUIImageView
- En mis pruebas, incluir o excluir la extensión de archivo .png no hizo una diferencia. Sin embargo, podría ser necesario incluirlo si está utilizando varios formatos de imagen.
- También en mis pruebas, no hizo ninguna diferencia si la imagen se agregó directamente al proyecto o estaba en Assets.xcassets.
- Si necesita una imagen que no se encuentra en el paquete principal, consulte esta pregunta .
- De acuerdo con la edición en la pregunta original aquí, eliminar la imagen y volver a agregarla al paquete es lo que resolvió el problema.
Probé su código en iOS 8-Simulator y en mi dispositivo iOS 7 e hice lo que debía hacer. Así que no, en mi caso no veo un problema.
Cambié img1 a img1.JPG (nombre del archivo) e img2 a img2.png. Y copié las imágenes directamente en la carpeta donde está el controlador de vista.