过渡时导航控制器下的黑色污迹

时间:2017-01-25 02:18:58

标签: ios swift uinavigationcontroller

当我在连接到导航控制器的页面之间进行选项卡时,导航栏下方有时会出现黑色标记。

enter image description here

任何想法如何删除?

他们只是空白页。

let vc = self.storyboard!.instantiateViewController(withIdentifier: page)
            self.show(vc, sender: self)

我尝试在导航控制器类中将背景设置为白色,就像某些线程推荐的那样没有做任何事情。

3 个答案:

答案 0 :(得分:2)

当您在edgesForExtendedLayout包含.top的视图控制器与不包含edgesForExtendedLayout的视图控制器之间进行切换时,会发生“污迹”。为避免这种情况,请确保所有视图控制器具有相同的extendedLayoutIncludesOpaqueBars和相同的RewriteCond %{QUERY_STRING} jwt=(.*) RewriteRule ^(.*)$ - [env=JWT:%1] RequestHeader setifempty Authorization "Bearer %{JWT}e" 设置。

答案 1 :(得分:0)

对我来说,发生在我使用库中的ToolBar时。通过在导航控制器的属性检查器中切换“显示工具栏”,可以从导航控制器本身使用工具栏进行修复

答案 2 :(得分:0)

我的应用程序也遇到了这个问题,除了在导航栏工具栏下有黑色污迹。我最终发现问题是由于我在多个场景中拥有的isTranslucent的{​​{1}}属性引起的。

translucent property in storyboard editor

一旦将此属性设置为false,导航栏和工具栏下的两个黑色污迹就会消失(为什么在工具栏上禁用半透明功能也会修复导航栏,我不知道)。我曾尝试在UIToolbar上禁用isTranslucent,但这只能将污迹固定在顶部。幸运的是,就我而言,工具栏下将永远没有任何东西,因此禁用半透明性不是问题。如果需要工具栏下的半透明,此解决方案可能对您不起作用。