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