Я хочу установить теневое изображение для панели навигации и панели вкладок. Я использую приведенную ниже функцию, которая находится в расширении цвета, чтобы получить изображение для правильного цвета.
func as1ptImage() -> UIImage {
UIGraphicsBeginImageContext(CGSize(width: 1, height: 1))
setFill()
UIGraphicsGetCurrentContext()?.fill(CGRect(x: 0, y: 0, width: 1, height: 1))
let image = UIGraphicsGetImageFromCurrentImageContext() ?? UIImage()
UIGraphicsEndImageContext()
return image
}
Я устанавливаю теневое изображение с кодом ниже в iOS13
navigationController?.navigationBar.shadowImage = UIColor.red.as1ptImage()
tabBarController?.tabBar.shadowImage = UIColor.red.as1ptImage()
tabBarController?.tabBar.backgroundImage = UIImage()
Я хочу изменить цвет теневого изображения при изменении темы приложения, чтобы я не использовал внешний вид в iOS13. Без появления UITabBarAppearance или UINavigationBarAppearance я устанавливаю это напрямую.
Кто-нибудь может знать, что он работает в панели навигации, но не работает в панели вкладок?