Цвет строки навигации (и состояния) отличается от запрограммированного (альфа автоматически устанавливается на 0,85) - PullRequest
0 голосов
/ 31 января 2019

Цель

Я пытаюсь покрасить панель навигации в серый цвет (RGB 33, 33, 33).Проблема в том, что я всегда получаю гораздо более светлый цвет, когда использую цвет:

UIColor(red: 33/256, green: 33/256, blue: 33/256, alpha: 1)

Проблема

Так что я имеюпришлось потемнеть цвет до 8,8,8 RGB, чтобы это работало (проверено с помощью цифрового измерителя цвета: получение (33,33,33) серого цвета, которое я хочу).

код

Код, который я использую для этого, приведен ниже:

    //  NAV BAR
    let navigationBarAppearace =  UINavigationBar.appearance()
    navigationBarAppearace.tintColor = UIColor.white
    navigationBarAppearace.barTintColor = UIColor(red: 0.03, green: 0.03, blue:0.03, alpha: 1)
    navigationBarAppearace.titleTextAttributes = [NSForegroundColorAttributeName: UIColor.white]

    //  STATUS BAR APPEARANCE
    UIApplication.shared.statusBarStyle = UIStatusBarStyle.lightContent

Что я нашел

У меня естьисследованный, используя иерархию представления отладки XCode, щелкая правой кнопкой мыши на панели навигации и нажимая 'print description'

enter image description here

, чтобы получить это:

<_UIVisualEffectSubview: 0x15422d1c0; frame = (0 0; 375 64); alpha = 0.85; autoresize = W+H; userInteractionEnabled = NO; layer = <CALayer: 0x1d4224c60>>

Значение альфа-канала уже установлено на 0,85 (даже если я никогда не устанавливал его в явном виде на это значение), будь то в Интерфейсном конструкторе или где-либо в коде.

Если я хочучтобы закрасить любой другой вид тем же цветом, что и панель навигации, я использую:

UIColor(red: 0.03, green: 0.03, blue: 0.03, alpha: 0.85), эквивалентный UIColor(red: 8/256, green: 8/256, blue: 8/256, alpha: 0.85)

(тот же RGB с альфа 0,85)

Вопрос

Как удалить альфа 0,85 на панели навигации, чтобы использовать одинаковые значения цвета во всем приложении?

1 Ответ

0 голосов
/ 31 января 2019

Просто напишите следующий код

navigationController.navigationBar.isTranslucent = false
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...