ios 取消nav下划线
在iOS中,取消导航栏下划线可以通过以下几种方式实现:
-
使用自定义的导航栏样式:
- 在
viewDidLoad方法中,设置导航栏的背景图片为空图片即可去掉下划线:self.navigationController?.navigationBar.setBackgroundImage(UIImage(), for: .default) self.navigationController?.navigationBar.shadowImage = UIImage() - 或者使用下面的方法来直接设置导航栏的背景颜色为透明,也能去掉下划线:
self.navigationController?.navigationBar.backgroundColor = .clear self.navigationController?.navigationBar.isTranslucent = true
- 在
-
使用自定义的导航栏代理方法:
- 在
viewDidLoad方法中,将导航栏的代理设置为当前视图控制器:self.navigationController?.navigationBar.delegate = self - 然后实现导航栏代理方法
navigationBar(_:didShow:animated:),将导航栏的下划线隐藏:func navigationBar(_ navigationBar: UINavigationBar, didShow animated: Bool) { self.navigationController?.navigationBar.subviews.forEach({ subview in if NSStringFromClass(subview.classForCoder) == "_UINavigationBarBackground" { subview.subviews.forEach({ view in if view is UIImageView { view.isHidden = true } }) } }) }
- 在
-
使用自定义的导航栏控制器:
- 自定义一个继承
UINavigationController的类,然后在其viewDidLoad方法中,设置导航栏的背景图片为空图片或者设置背景颜色为透明:self.navigationBar.setBackgroundImage(UIImage(), for: .default) self.navigationBar.shadowImage = UIImage() // 或者 self.navigationBar.backgroundColor = .clear self.navigationBar.isTranslucent = true
- 自定义一个继承
以上是几种在iOS中取消导航栏下划线的方法,你可以根据自己的需求选择其中一种实现方式
原文地址: https://www.cveoy.top/t/topic/ixU2 著作权归作者所有。请勿转载和采集!