在iOS中,取消导航栏下划线可以通过以下几种方式实现:

  1. 使用自定义的导航栏样式:

    • viewDidLoad方法中,设置导航栏的背景图片为空图片即可去掉下划线:
      self.navigationController?.navigationBar.setBackgroundImage(UIImage(), for: .default)
      self.navigationController?.navigationBar.shadowImage = UIImage()
      
    • 或者使用下面的方法来直接设置导航栏的背景颜色为透明,也能去掉下划线:
      self.navigationController?.navigationBar.backgroundColor = .clear
      self.navigationController?.navigationBar.isTranslucent = true
      
  2. 使用自定义的导航栏代理方法:

    • 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
                      }
                  })
              }
          })
      }
      
  3. 使用自定义的导航栏控制器:

    • 自定义一个继承UINavigationController的类,然后在其viewDidLoad方法中,设置导航栏的背景图片为空图片或者设置背景颜色为透明:
      self.navigationBar.setBackgroundImage(UIImage(), for: .default)
      self.navigationBar.shadowImage = UIImage()
      // 或者
      self.navigationBar.backgroundColor = .clear
      self.navigationBar.isTranslucent = true
      

以上是几种在iOS中取消导航栏下划线的方法,你可以根据自己的需求选择其中一种实现方式

ios 取消nav下划线

原文地址: https://www.cveoy.top/t/topic/ixU2 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录