Какова точная причина того, что shadowImage работает в навигационной панели, но не работает в панели вкладок в iOS13? - PullRequest
0 голосов
/ 30 апреля 2020

Я хочу установить теневое изображение для панели навигации и панели вкладок. Я использую приведенную ниже функцию, которая находится в расширении цвета, чтобы получить изображение для правильного цвета.

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 я устанавливаю это напрямую.

Кто-нибудь может знать, что он работает в панели навигации, но не работает в панели вкладок?

...