objective iphone xcode interface-builder uiimageview

iphone - objective - uiimageview set image swift



La imagen no se muestra en UIImageView en Interface Builder/iPhone (18)

Tengo un UIView con un UIImageView arrastrado a la vista. De repente, para todos mis xibs, la imagen ya no aparece. Hay una X azul. Sin embargo, cuando se construye, la imagen está ahí.

En un momento, eliminé y regeneré todas mis imágenes y moví algunas a una subcarpeta en Xcode. Normalmente, cuando selecciona una imagen para un UIImageView , IB le permite seleccionar cualquier imagen del proyecto. Pero, no puedo ver ninguna de las imágenes que había puesto en la carpeta en el menú desplegable.

Todo lo que veo en el menú desplegable en el Inspector es la imagen que quiero, pero esa también es la que no se muestra. Y como dije, si lo construyo en el dispositivo o simulador, todo funciona.

Hay algún caché o algo estropeado en alguna parte. Todo se construye sin errores. Limpié los cachés y reconstruí. Todo funciona Sin errores ni advertencias. Pero ... no puedo ver ninguna otra imagen e IB aún cree que falta la imagen que está claramente seleccionada en el menú desplegable.

Entonces, ¿cómo puedo hacer que Xcode y IB vuelvan a encarrilarse y ver qué activos debería ver correctamente en los XIB?


Asegúrese de haber agregado su imagen al objetivo al arrastrarla al proyecto. Debido a que el sistema de carpeta / grupo / proyecto de Xcode está defectuoso, haga clic en la imagen y verifique que realmente se haya agregado a la compilación de destino en el inspector como se muestra (¡un problema gráfico merece una respuesta gráfica!):

Añade la imagen al proyecto ...

Añadir a objetivos ... (o eso creemos)

La imagen de fondo se muestra muy bien en Interface Builder ...

Pero cuando corremos, no tenemos nada más que el color de fondo que configuramos ... no hay imagen ...

Al hacer clic en UIImageView en Interface Builder y usar el inspector, nos desplazamos hacia abajo y encontramos que, de hecho, nunca se agregó al objetivo, como Xcode se muestra claramente en el paso 2 ...

Así que lo añadimos al objetivo ...

Y construimos y corremos y listo! Nuestra imagen se muestra en el UIImageView exactamente donde se supone que se debe mostrar.

Esto me volvió loco durante la mayor parte del día hasta que intenté agregar un código para hacer que sucediera y ver si era una imagen flakey. Lo agregué sin problema creando la implementación de viewDidLoad a continuación.

Tenga en cuenta que no necesita esto si Xcode / Interface Builder está funcionando como debería. O el usuario IB o usa este código, no ambos:

- (void)viewDidLoad { UIColor * theColor; UIImage * theImage; [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib. theImage = [UIImage imageNamed:@"/<redacted>/background sea green gradent.png"]; theColor = [UIColor colorWithPatternImage: theImage ]; [self.view setBackgroundColor: theColor ]; }

Nota: Este puede ser el mismo problema si su botón no muestra una imagen personalizada ...


Asegúrese de que está haciendo referencia a un activo de imagen que realmente existe . Yo había agregado mis archivos al Catálogo de Activos de Xcode (.xcassets) como de costumbre, pero olvidé cambiar el nombre predeterminado de "Imagen" al nombre que estaba usando en el guión gráfico.


Asegúrese de tener un elemento que coincida con la escala de la imagen que coincida con el tamaño de la pantalla que está viendo en su archivo de Interface Builder en Xcode. Hay puntos de @ 1x, @ 2x y @ 3x para los activos de imagen si está utilizando el catálogo de activos en Xcode o, si no lo está utilizando, debería tener diferentes activos diferenciados por su nombre de archivo (por ejemplo, " imagen.png, [email protected], [email protected]).

Es posible que no tenga varios tamaños de activos y solo haya proporcionado un activo para, por ejemplo, 1x o 3x, y puede que esté viendo la pantalla en Interface Builder para un tipo de dispositivo que utiliza un tamaño de activo diferente y, por lo tanto, la imagen de UIImageView no se representará. Xcode. Por ejemplo, estaba viendo la interfaz para un iPhone 7, que usa 2x, pero el activo solo tenía una versión 3x. Cuando agregué una versión 2x, apareció inmediatamente en el Interface Builder en Xcode.

Tenga en cuenta que incluso si no se procesa en Xcode, aún se puede procesar correctamente en tiempo de ejecución. Sin embargo, es una buena práctica proporcionar activos en resoluciones que sean apropiadas para cada modelo de dispositivo.


En mi caso, cuando he creado un nuevo proyecto en Xcode 6 no puedo mostrar las imágenes en el simulador ni en el dispositivo. He importado todas las imágenes en los activos de imagen haciendo una carpeta dentro de eso. Ahora he importado todas las imágenes, todas están funcionando bien ahora. Todas las imágenes se muestran ahora.

Sigue estos pasos:

PASO 1:

PASO 2:

PASO 3:

y luego importar las imágenes que necesita. Enlace de referencia: enlace


Esto sucedió cuando moví las imágenes a xcassets. Lo resolví eliminando las extensiones png y jpg en el inspector.


He encontrado este problema varias veces; a veces (no estoy muy seguro de por qué ...), Xcode parece olvidar el enlace entre un UIImageView y la imagen en su carpeta.

Entonces puede ser tan simple como ir al inspector de atributos para esa vista de imagen, y si el cuadro de imagen dice ''Imagen desconocida'', ¡volver a seleccionar la imagen correcta!


Intenta limpiar y reconstruir el proyecto.

Si aún no funciona, elimine todas las imágenes de Xcode (seleccione eliminar solo la referencia) y luego vuelva a agregarlas arrastrando esas imágenes a Xcode. Luego vuelva a construirlo y debería funcionar.


Mi receta: CLEAN + Build + ¡SALTE DE XCODE Y LUEGO LE REOPEN!

Voilá !! ¡Está allá!


Para mí fue porque las imágenes tenían un ".png" en el inspector de atributos. Quitarlo solucionó el problema.


Para mí, el problema era que podía ver los nuevos archivos de imagen agregados en Show the media library pero no en el menú desplegable de mi botón Image

Para mí la solución fue escribir el nombre manualmente. Cuando empecé a escribir los nombres de las imágenes en el cuadro de texto, se autocompletaron y eso es todo. |

PS: También implementé la solución seleccionada antes de hacerlo.


Sólo se encontró con este problema. Exportó las imágenes idénticas en Adobe Illustrator. Uno tan transparente, el otro como blanco. El transparente apareció con un gran signo de interrogación azul. Correrlo, funcionó bien sin embargo. Algo que ver con IB y PNG transparentes.


Sólo un FYI: tuve un problema similar. ¡En algún momento las imágenes se corrompieron y todas eran PNG transparentes!

Reemplacé los archivos y ahora se muestran de nuevo. La corrupción de la imagen puede haber ocurrido cuando copié los archivos a través del Explorador de Windows en la Caja Virtual de Oracle que ejecuta Windows XP.


Si ninguna de estas respuestas funciona, una posible razón podría ser: si está utilizando un UIButton y muestra una imagen en él, asegúrese de que el botón no tenga un título. Mostrará una elipse (...) porque la leyenda del botón se está truncando.


Si tiene todas las imágenes 1x, 2x y 3x configuradas, limpió y construyó el proyecto y aún no se muestra correctamente, salga de Xcode y fuerce salir, luego abra Xcode de nuevo. Sólo un simple reinicio de Xcode funcionó para mí.


Solo para el registro (porque nada me funcionó):

Solo tuvimos retina-graficos en nuestros proyectos. Después de actualizar a XCode 5 todas las imágenes tenían un signo de interrogación blanco (solo en el Interface Builder , no en el Simulator ). Cambiamos la fuente de la imagen a non-retina , ¡lo que resolvió el caso!

¡Usando btn-category-6.jpg resolví el problema!


Tenía los mismos síntomas, pero simplemente moví la carpeta del proyecto al escritorio, volví a ejecutar el proyecto en IB y ¡funcionó! Luego, vuelva a trabajar en la misma carpeta principal, con un nombre diferente ... extraño.


Tuve este problema varias veces. Y copiar el directorio del proyecto en el escritorio, cambiar el nombre de la carpeta original, abrir el proyecto desde la nueva ubicación y moverlo al directorio original otra vez ayudó en todo momento. Todas las soluciones de "Cargar todos los archivos de cabecera" a veces funcionan y otras no


El .png faltaba al final de mi nombre de imagen en el inspector de atributos

Después de limpiar, volver a importar y verificar los recursos que se asignaron correctamente, nada funcionó, aunque encontré que mi imagen (que es un png) apareció una vez que ingresé .png al final del nombre de la imagen en el panel de atributos.