Цвет градиента на панель навигации - PullRequest
0 голосов
/ 26 июня 2019

Я пытаюсь применить цвет градиента к UINavigationBar.appearence().Для этого я перешел по ссылке .Но после добавления этого расширения класса CAGradientLayer я написал следующие строки кода, которые завершили запуск с параметрами в классе APPDelegate.Но я получаю сообщение об ошибке типа «Значение необязательного типа UIImage? должно быть развернуто до значения типа UIImage». Здесь используется UINavigationbar.Не Navigationcontroller

Может кто-нибудь помочь мне сделать это, было бы здорово.

// In AppDelegate Class

let navigationbar=UINavigationBar()
        let flareGradientImage = CAGradientLayer.primaryGradient(on: navigationbar)
        UINavigationBar.appearance().tintColor = UIColor(patternImage: flareGradientImage)



        UINavigationBar.appearance().tintColor = UIColor.white
        UINavigationBar.appearance().titleTextAttributes = [NSAttributedString.Key.foregroundColor:UIColor.white]

1 Ответ

0 голосов
/ 26 июня 2019

Сначала ваше расширение CAGradientLayer получает границы навигационной панели. Простая инициализация UINavigationBar () не будет работать, так как его граница будет (0,0,0,0), и, во-вторых, вам нужно использовать код ниже, чтобы установить его в качестве backgroundImage.

UINavigationBar.appearance().setBackgroundImage(flareGradientImage, for:.default)
...