gpt4 book ai didi

ios - 在 Swift 中为单个 View 自定义导航栏背景?

转载 作者:可可西里 更新时间:2023-11-01 00:24:00 24 4
gpt4 key购买 nike

我有一个具有多个 View 和 Controller 的应用程序,但我只想在其中一个 View 上使用白色文本使顶部导航栏透明。我在所述 View 的 Controller 中有以下代码:

override func viewDidLoad() {
super.viewDidLoad()

let bar:UINavigationBar! = self.navigationController?.navigationBar

bar.tintColor = UIColor.whiteColor()
bar.setBackgroundImage(UIImage(), forBarMetrics: UIBarMetrics.Default)
bar.shadowImage = UIImage()
bar.backgroundColor = UIColor(red: 0.0, green: 0.0, blue: 0.0, alpha: 0.0)
}

当我打开应用程序时,其他 View 上的顶部栏看起来像预期的那样,当我打开此 View 时,顶部栏看起来像我想要的那样。但是当我从这个 View 导航到其他 View 时,其他 View 继承了上面代码对顶部栏所做的更改。

有没有一种方法可以防止这种情况发生,以便导航栏仅针对该特定 View 发生变化,而其余部分保持不变?

提前致谢!

最佳答案

对于任何特定的导航 Controller 只有一个导航栏,因此如果您在一个 Controller 中更改它,它将对所有 Controller 进行更改。解决这个问题的方法是将它改回您想要的 viewWillDisappear(或 viewDidDisappear)中其他 Controller 的任何内容。如果在弹出另一个 Controller 时返回同一实例,您可能还需要移动显示的代码以查看 willAppear。

关于ios - 在 Swift 中为单个 View 自定义导航栏背景?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30157918/

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