最近在学习用swift写项目, 开始研究navigationBar相关的设置,研究了一下怎么去隐藏底部黑线
参考了stackoverflow上找到的方法
extension UINavigationController {
//隐藏NavigationBar底部黑线的方法
func hairLine(hide: Bool) {
//hides hairline at the bottom of the navigationbar
for subview in self.navigationBar.subviews {
if subview.isKind(of: UIImageView.self) {
for hairline in subview.subviews {
if hairline.isKind(of: UIImageView.self) && hairline.bounds.height <= 1.0 {
hairline.isHidden = hide
}
}
}
}
}
}
另外一篇stackoverflow参考
如果有自定义的背景图片, 可以通过设置BackgroundImage 和 ShadowImage的方式:
self.navigationController?.navigationBar.setBackgroundImage(UIImage(named: "XXX"), for: .default)
self.navigationController?.navigationBar.shadowImage = UIImage()
还有一种,我试了一下, 状态栏竟然没有颜色(不推荐)
UINavigationBar.appearance().barTintColor = UIColor.gray
self.navigationController?.navigationBar.clipsToBounds = true