gpt4 book ai didi

ios - 仅为目标 V​​iewController 设置导航栏

转载 作者:行者123 更新时间:2023-11-30 13:54:07 24 4
gpt4 key购买 nike

我有一个名为 SourceViewController 的 ViewController,它嵌入在 NavigationController 中。

SourceViewController 在选择 UITableViewCell 后转至 DestinationViewController

我想隐藏 SourceViewController 上的导航栏,但将其显示在 DestinationViewController 上,以便显示“后退”按钮。

所以,在SourceViewController中:

override func viewDidLoad() {
super.viewDidLoad()

self.navigationController?.navigationBar.hidden = true
}

DestinationViewController中: 覆盖 func viewDidLoad() { super.viewDidLoad()

    self.navigationController?.navigationBar.hidden = false
}

但是,当我点击 DestinationViewController 中的“返回”返回到 SourceViewController 时,导航栏会重新出现在 SourceViewController

下一个“显而易见”的步骤是在 SourceViewControllerviewDidAppear 中设置 navigationBar.hidden = false,但这有多种原因:主要是DRYness,但返回SourceViewController时,隐藏navigationBar有延迟,并且它是瞬间可见的。

如何解决这个问题?

最佳答案

我认为这会起作用,隐藏导航栏。在出现/消失 View 之前。

override func viewWillAppear(animated: Bool) {
navigationController?.navigationBarHidden = true
super.viewWillAppear(animated)
}


override func viewWillDisappear(animated: Bool) {
navigationController?.navigationBarHidden = true
super.viewWillDisappear(animated)
}

关于ios - 仅为目标 V​​iewController 设置导航栏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33878125/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com