Изменение цвета разделителя UINavigationBar

Я работаю над iOS-приложением на основе «Master-Detail Template» Xcode и хочу использовать собственные цвета для некоторых элементов пользовательского интерфейса.

Однако я не смог найти, как изменить правый разделитель UINavigationBar:

введите здесь описание изображения

Я уже пытался изменить backgroundColor из UINavigationBar, UINavigationItem и его titleView, но безуспешно.

Было бы здорово, если бы у кого-то была подсказка.

РЕДАКТИРОВАТЬ: я только что заметил, что при просмотре в вертикальном режиме я хочу обвести весь разделитель?

введите здесь описание изображения


person ixany    schedule 22.05.2018    source источник
comment
Как здесь? stackoverflow.com/a/32222707/4172698   -  person Michael    schedule 22.05.2018
comment
@Michael Нет — ваша ссылка предлагает решение для изменения цвета нижнего разделителя.   -  person ixany    schedule 22.05.2018


Ответы (1)


Небольшая модификация этого ответа дает вам

extension UINavigationBar {

    func setRightBorderColor(color: UIColor, width: CGFloat) {
        let rightBorderRect = CGRect(x: frame.width, y: 0, width: width, height: frame.height)
        let rightBorderView = UIView(frame: rightBorderRect)
        rightBorderView.backgroundColor = color
        addSubview(rightBorderView)
    }
}
person Michael    schedule 22.05.2018
comment
Спасибо за вопрос — рад, что вы пытаетесь помочь. Это не работает. Поскольку я заметил, что весь разделитель становится ярким, если я поворачиваю iPad (см. редактирование моего исходного вопроса), я думаю, что это не просто UINavigationBar, который я хочу нарисовать. Однако ваш подход к добавлению нового слоя поверх другого не кажется мне правильным. - person ixany; 24.05.2018