Actualmente estoy desarrollando un widget de iOS con SwiftUI y tengo un comportamiento extraño en la imagen de fondo de mi widget de tamaño mediano.
Estoy configurando una imagen de fondo según el modo de color actual del dispositivo, que funciona la mayor parte del tiempo. Pero cuando la aplicación está en segundo plano durante un par de minutos, la imagen de fondo se vuelve negra, lo que hace que el texto sea ilegible. Cualquier otro elemento de la interfaz de usuario sigue siendo visible. Cuando vuelvo a mi aplicación, el widget se actualiza y la imagen de fondo vuelve a estar visible.
Las imágenes de fondo están incluidas en mi image.assets de mi extensión de widget, por lo que debería estar siempre accesible para el widget, ¿no es así?
Este widget está disponible para iOS 14 y superior.
Así es como configuro la imagen de fondo:
struct MediumWidget: View { @Environment(\.colorScheme) var colorScheme var body: some View { HStack(alignment: .center, spacing: nil) { // Content (shortend) } .frame(maxWidth: .infinity, maxHeight: .infinity) .edgesIgnoringSafeArea(.all) .background( backgroundImage .renderingMode(.original) .resizable() .scaledToFill() ) } var backgroundImage: Image { if colorScheme == .dark { return Image("dark") } return Image("light") } }No tengo ni idea de qué hacer, ¿alguien sabe lo que estoy haciendo mal?
¡Gracias de antemano!
EDIT 1: Este problema solo ocurre con estas dos imágenes de fondo. Cuando uso cualquier otra imagen de fondo, el widget no se vuelve negro.
Dado que el problema solo ocurre con estas dos imágenes específicas, parece que los archivos son
Intente generar un archivo completamente nuevo para ambas imágenes (por ejemplo, tome capturas de pantalla) y reemplácelos con las imágenes actuales en la carpeta de activos. Lo más probable es que eso solucione tu problema.