如何删除带有大标题的导航栏的底部边框?

Posted

技术标签:

【中文标题】如何删除带有大标题的导航栏的底部边框?【英文标题】:How to remove bottom border of navigation bar with large title? 【发布时间】:2018-08-01 20:24:09 【问题描述】:

对于小标题的导航栏,我们可以在 viewDidLoad 中添加这两行来让边框消失:

navigationController?.navigationBar.setBackgroundImage(UIImage(), for: UIBarMetrics.default)
navigationController?.navigationBar.shadowImage = UIImage()

但是,当我为带有大标题的导航栏执行此操作时,即当我设置时:

navigationController?.navigationBar.prefersLargeTitles = true

边框确实消失了,但状态栏也消失了:

去除大标题导航栏底部边框的正确方法是什么?

【问题讨论】:

【参考方案1】:

要移除底部边框,您只需要设置:

navigationController?.navigationBar.shadowImage = UIImage()

使用以下代码,您正在影响背景,其中包括状态栏。删除该行:

navigationController?.navigationBar.setBackgroundImage(UIImage(), for: UIBarMetrics.default)

【讨论】:

以上是关于如何删除带有大标题的导航栏的底部边框?的主要内容,如果未能解决你的问题,请参考以下文章