更改 UINavigationBar 的分隔符颜色

Posted

技术标签:

【中文标题】更改 UINavigationBar 的分隔符颜色【英文标题】:Changing the separator color of UINavigationBar 【发布时间】:2018-05-22 14:25:31 【问题描述】:

我正在开发一个基于 Xcode 的“Master-Detail Template”的 ios 应用程序,并希望为一些 UI 元素使用自定义颜色。

但是,我不知道如何更改UINavigationBar右分隔符

我已经尝试更改UINavigationBarUINavigationItem 及其titleViewbackgroundColor,但没有成功。

如果有人有线索就好了。

编辑: 我刚刚注意到,在垂直模式下查看,我要上墨的是整个分隔符?

【问题讨论】:

在这里? ***.com/a/32222707/4172698 @Michael Nope — 您的链接提供了更改底部分隔符颜色的解决方案。 【参考方案1】:

this answer 的轻微修改给你

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)
    

【讨论】:

感谢您的提问——很高兴您能提供帮助。它不起作用。由于我注意到,如果我旋转 iPad,整个分隔符都是亮色的(请参阅我原来问题的编辑),我认为它只是我想要墨迹的 UINavigationBar。但是,您在另一层之上添加新层的方法似乎不适合我。

以上是关于更改 UINavigationBar 的分隔符颜色的主要内容,如果未能解决你的问题,请参考以下文章

UINavigationBar 无法更改颜色

全局更改 UINavigationBar 条的色调颜色

如何从 AppDelegate 更改 UINavigationBar 背景颜色

以编程方式更改 UINavigationbar 背景颜色和标题字体/颜色

UINavigationBar 不立即更新颜色

如何更改 UINavigationBar 标题的字体和文字颜色