我在UINavigationController中。 UINavigationController有3个视图控制器。前两个是tableViewControllers,最后一个是一个常规的视图控制器,嵌入了PageViewController。试图使导航栏清除,并且它是黑色的
我正在使用的第三视图控制器下面的代码在堆栈,使UINavigationBar的明确:
navigationController?.navigationBar.shadowImage = UIImage()
navigationController?.navigationBar.setBackgroundImage(UIImage(), forBarMetrics: UIBarMetrics.Default)
我把这个代码在堆栈中的第三视图控制器。这是嵌入了UIPageViewController的视图控制器。但导航栏是黑色的。但是,当我从堆栈中弹出第三个控制器并返回到第二个控制器时,UITableViewController的导航栏已经清除。
我看了很多其他的问题,在这里:How to make completely transparent navigation bar in iOS 7和这里:Transparent UINavigationBar in Swift但没有任何工作。
我做错了什么?上面的两行代码是我使用的唯一代码,但我也尝试了上面链接中的建议,没有任何工作。下面是黑色的导航栏的照片:
你能告诉我们你试图操纵navigationBar的视图控制器的生命周期中的哪个部分,以及你如何呈现第三个视图控制器?这听起来像你的代码工作(当你从堆栈中弹出第三个VC是透明的时候吧),但它发生得太晚了。你有没有尝试把导航栏代码放在第三个VC的位置? – ackerman91
你可以设置'self.navigationController?.navigationBar.barTintColor = .clearColor()',而不是设置图像 – iamalizade
我已经在1)viewDidLoad,2)viewWilAppear和3)prepareForSegue在第2视图控制器。正如我所说,当我回去的时候,第二风投的导航栏很清晰。但是当我回到第一个时,它又是黑色的。这是一个45秒的youtube视频显示问题:https://www.youtube.com/watch?v=ubNBMmt2oLU – joey