Ios 导航栏带有大标题的黑线

Ios 导航栏带有大标题的黑线,ios,swift,uinavigationbar,large-title,Ios,Swift,Uinavigationbar,Large Title,感谢您抽出时间阅读 首先,我要说的是,我已经尽了我应有的努力来寻找问题的解决方案,但没有结果,这让我感到压力很大!所以,如果有人找到答案,你能给我指个方向吗:) 我面临的问题与导航栏下方出现的黑线有关。现在,我非常清楚如何设置导航栏的默认图像/阴影图像属性来纠正这个问题,因此,我创建了自己的扩展来实现它(如下所示) 然而,有些东西似乎不正常,我的导航栏下面出现了一条黑线(见下文) 更奇怪的是,模拟器没有在同一屏幕上显示这一行。模拟器设置为像素精度。(如下图所示) 我想这可能与我从以前的风投改

感谢您抽出时间阅读

首先,我要说的是,我已经尽了我应有的努力来寻找问题的解决方案,但没有结果,这让我感到压力很大!所以,如果有人找到答案,你能给我指个方向吗:)

我面临的问题与导航栏下方出现的黑线有关。现在,我非常清楚如何设置导航栏的默认图像/阴影图像属性来纠正这个问题,因此,我创建了自己的扩展来实现它(如下所示)

然而,有些东西似乎不正常,我的导航栏下面出现了一条黑线(见下文)

更奇怪的是,模拟器没有在同一屏幕上显示这一行。模拟器设置为像素精度。(如下图所示)

我想这可能与我从以前的风投改变的方式有关。我正在将导航栏从隐藏改为显示,并将其设置为
prefersLargeTitles
。现在,如果我将导航栏设置为不使用大标题,则黑线不会显示。此外,如果我推到下一个视图控制器,然后弹出,则该行不在那里(在推送的控制器上,或在新弹出的视图控制器上)

在这一点上,我主要是想知道为什么会发生这种情况?我是说,我一定做错了什么。我写了一个设置扩展,只是为了让代码远离VC,可能不是最好的编码实践,但是嘿

        self.hideHairline(true)
    self.titleTextAttributes =  [NSAttributedStringKey.foregroundColor : Constants.navigationBarTextColor]
    self.largeTitleTextAttributes = self.titleTextAttributes
    self.barTintColor = Constants.navigationBar
    self.tintColor = Constants.navigationBarTint
    self.isTranslucent = false
    self.backgroundColor = Constants.navigationBar
    self.prefersLargeTitles = true
Constants
是一个类,它保存了我应用程序中的所有静态变量,比如colo(u)rs。我是不是犯了一些愚蠢的错误,还是有一个大标题的bug

如果您需要更多信息,请直接询问:)


谢谢

所以,在休息了一晚上之后,我找到了一个解决办法。我将把这篇文章留给将来可能遇到类似问题的任何人

这与
UINavigationController
本身的视图有关。我发现另一个堆栈溢出帖子回答了这个问题()

我所要做的就是:

self.navigationController?.view.backgroundColor = .white
把颜色改成你需要的任何颜色

简单的解决方案,我不敢相信我花了这么长时间才弄明白

祝你一切顺利

self.navigationController?.view.backgroundColor = .white