如何在没有导航栏的情况下拥有后退导航栏

how to have the back navigation bar without the navigatin bar

我有一个主页,其中有一个可以转到另一个页面的按钮。

我想在进入第二页时,在导航栏的左上角有一个后退按钮。

我在主视图控制器中添加了一个导航控制器,然后在我的第二个视图控制器(第二页)中添加了一个 push segue,因此创建了一个自动后退按钮。

我想要的是我不希望导航栏位于主视图控制器中,我也不希望它位于第二个视图控制器中,我只想将后退按钮放在第二个视图控制器。

我想了想,然后想到了:

self.navigationController?.setNavigationBarHidden(true, animated: false)

在主视图控制器中,这实际上隐藏了导航,但这使得第二个视图 ctonroller 失去了它的后退按钮。

你有办法解决我的问题吗?

这是主视图控制器(它有导航栏,但我不想有它)

这是第二个视图控制器,它有后退按钮,

如果我离开 navigatino 栏我没问题,如果它是透明的,有什么想法吗? (透明,我的意思是我可以在它下面看到我的图像)

更新 1

在第一条评论给了我提示后,我尝试这样应用它:

class CustomNavigationBar: UINavigationBar {
    override func drawRect(rect: CGRect) {
        super.drawRect(rect)
    }
}

并且我将 UINavigationControlelr 中导航栏的 class 设置为我的自定义导航栏。 在我的 main view controlr 中添加:

self.navigationController?.navigationBar.translucent = true;
self.navigationController?.navigationBar.backgroundColor = UIColor.clearColor()

但结果是我的主视图控制器仍然有一个导航栏位置(尽管它是空的)。我不能把这个地方设为透明以便看到下面的图像吗?

将其添加到主视图控制器

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)
}