导航控制器转换上的iOS黑线

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了导航控制器转换上的iOS黑线相关的知识,希望对你有一定的参考价值。

当我的视图控制器(导航项中嵌入了大标题和搜索栏)执行推/弹转换时,黑线会短暂显示,如下所示:

enter image description here

我基本上尝试改变所有导航栏颜色相关的东西,但没有任何帮助。

任何帮助,将不胜感激 :)

答案
extension UINavigationBar {


    var customStyle: NavigationBarCustomStyle {
        set(style) {
            switch style {
            case .clear:
                self.setBackgroundImage(UIImage(), for: .default)
            self.shadowImage = UIImage()
            self.tintColor = .white
            self.isTranslucent = false

                break
            case .bottomLine:
                self.tintColor = .gray
                self.backgroundColor = .yellow
                self.isTranslucent = false
                break
            }
        }
        get {
            return self.customStyle
        }
    }
}

enum NavigationBarCustomStyle {
    case clear
    case bottomLine
//  case white
}

在ViewController >> viewDidLoad方法放在下面的行:

self.navigationController?.navigationBar.customStyle = .clear
另一答案

尝试将导航栏的背景颜色设置为白色(取决于你的情况)为我解决问题,虽然还有另一个小故障,但它更好:)

override func viewDidLoad() {
    super.viewDidLoad()

    self.navigationController?.view.backgroundColor = .white
}

以上是关于导航控制器转换上的iOS黑线的主要内容,如果未能解决你的问题,请参考以下文章

如何从自定义导航栏中删除这条黑线

iOS 导航栏黑线,UIImage 枚举处理方式

iOS 去除导航栏下的黑线

取消iOS10和iOS9以下导航栏黑线

iOS:资产目录中的启动图像上的黑线

使用导航控制器创建两次的片段