我有一个主页面,其中有一个按钮可以转到另一个页面。
我希望当我进入第二页时,在导航栏的左上角有一个后退按钮。
我在主视图控制器中添加了一个导航控制器,然后我在第二个视图控制器(第二页)中添加了一个push segue,因此创建了一个自动后退按钮。
我想要的是我不希望导航栏在主视图控制器中,我不希望它在第二个视图控制器中,我只想在后面的按钮中第二视图控制器。
我想到了,我想出了:
self.navigationController?.setNavigationBarHidden(true, animated: false)
在主视图控制器中,实际上隐藏了导航,但这使第二个视图ctonroller松开了它的后退按钮。
你能解决我的问题吗?这是主视图控制器(它有导航栏,但我不想拥有它)
如果我离开navigatino酒吧我没有问题,如果它是透明的,请问有什么想法吗? (并且通过透明,我的意思是我可以看到我的图像吼叫它)
在第一条评论给我一个提示后,我试图像这样应用它:
class CustomNavigationBar: UINavigationBar {
override func drawRect(rect: CGRect) {
super.drawRect(rect)
}
}
我将UINavigationControlelr中导航栏的类设置为自定义导航栏。 并在我的主视图控件中添加以下内容:
self.navigationController?.navigationBar.translucent = true;
self.navigationController?.navigationBar.backgroundColor = UIColor.clearColor()
但结果是我的主视图控制器仍然有导航栏的位置(虽然它是空的)。我不能让这个地方透明,以便看到它的图像吗?
答案 0 :(得分:4)
将其添加到主视图控制器
override func viewDidLoad() {
super.viewDidLoad()
self.navigationItem.backBarButtonItem = UIBarButtonItem(title: "", style: UIBarButtonItemStyle.Plain, target: nil, action: nil)
self.navigationController?.navigationBar.setBackgroundImage(UIImage(), forBarMetrics: UIBarMetrics.Default)
self.navigationController?.navigationBar.shadowImage = UIImage()
}
override func viewWillAppear(animated: Bool) {
super.viewWillAppear(animated)
self.navigationController?.setNavigationBarHidden(true, animated: true)
}
override func viewWillDisappear(animated: Bool) {
super.viewWillDisappear(animated)
self.navigationController?.setNavigationBarHidden(false, animated: true)
}