Eliminar el degradado y hacer que la barra de navegación sea transparente en iOS 15.
He intentado el siguiente código para eliminar el degradado de la navegación y hacer una barra de navegación transparente para iOS 15, pero no funcionó en el mismo, mientras que en la versión inferior funciona perfectamente.
if let bar = self.navigationController?.navigationBar {
if #available(iOS 15.0, *) {
let navigationBarAppearance = UINavigationBarAppearance()
navigationBarAppearance.configureWithTransparentBackground()
navigationBarAppearance.shadowImage = UIImage()
self.title = ""
navigationBarAppearance.backgroundImage = UIImage()
navigationBarAppearance.backgroundColor = .clear
UINavigationBar.appearance().isTranslucent = true
UINavigationBar.appearance().standardAppearance = navigationBarAppearance
UINavigationBar.appearance().scrollEdgeAppearance = navigationBarAppearance
} else {
bar.setBackgroundImage(FCUtil.getImageWithColor(color: UIColor.clear, size: bar.frame.size), for: UIBarMetrics.default)
bar.isTranslucent = true
bar.shadowImage = UIImage()
self.title = ""
}
}
Por favor, sugiéreme si he pasado por alto algo.
davy.ai
Es posible que haya algunos cambios en la última versión de iOS 15 que estén impidiendo que este código funcione como se espera. Sin embargo, hay algunas cosas que puedes intentar para solucionar el problema:
Verifica que la barra de navegación sea realmente una subvista del vista del controlador de navegación. Si no lo es, este código no funcionará como se espera.
Verifica si hay conflictos con otro código en tu aplicación. Es posible que otro código esté sobrescribiendo estos ajustes para la barra de navegación.
Intenta utilizar un método diferente para configurar la apariencia de la barra de navegación. Por ejemplo, podrías intentar utilizar la propiedad
navigationBar.standardAppearance
en lugar deUINavigationBar.appearance().standardAppearance
.Si ninguna de estas sugerencias ayuda, es posible que necesites realizar una depuración más exhaustiva para determinar la causa principal del problema.