Xcode:隐藏导航栏后去掉黑色条纹

3

场景

我有一个应用程序,允许用户向上滚动UITableView来查看帖子。当他们向上滚动时,导航栏将隐藏。我使用以下SO帖子中的代码...

模仿iOS 7 Facebook隐藏/显示扩展/收缩导航栏

问题

当我尝试在那里使用第一个答案时,第一次使用它时,它完美地工作。在它能够工作之后,我试图让我的选项卡栏也下降。当我摆弄我的代码时,我一定把某些东西搞砸了。因为现在当我运行相同的代码时,我得到这个无法消失的黑色条。

未滚动(正常)

enter image description here

向上滚动(留下丑陋的黑色条)

enter image description here

我还尝试过

GTScrollNavigationBar和TLYShyNavBar

它们都会留下黑条...

问题

有人知道如何解决这个问题吗?


1
检查您的视图大小。它可能不会延伸到导航栏后面,因此当您隐藏导航栏时,它后面没有任何东西,所以是黑色的。 - AdamPro13
是的,请扩展您的视图高度。增加AppDelegate.window的高度并设置其origin.y以确保它从顶部开始。 - Kampai
2个回答

22

我认为你的问题与你的导航栏不透明有关。在你的视图控制器中,确保勾选了属性在不透明条下,就应该没问题了。

输入图像描述

另一种方法是在你的视图控制器上将extendedLayoutIncludesOpaqueBars设置为YES(而不是默认值)。


我正在使用AVCapture会话来扫描二维码,但是在这之后,用objectCaptureVideoPreviewLayer?.transformedMetadataObject检测二维码的边界不在正确的位置。二维码图像位于框的下方开始。 - Prashant Tukadiya

2
我建议您在代码中完成它,以便于全面控制并在以后获得更多可能性。
只需设置相关tableview的背景颜色即可。在您的情况下,代码如下:
self.navigationController.view.backgroundColor = [UIColor whiteColor];

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接