gpt4 book ai didi

swift - 自定义导航栏在转到另一个 View 时重叠

转载 作者:行者123 更新时间:2023-11-30 10:49:08 25 4
gpt4 key购买 nike

我一直在构建一个应用程序,它使用自定义的Header Image替换XCode提供的标题图像。我有不同的类来处理两个不同的视图控制器。一个叫做MainViewController,另一个叫做CategoryViewController。由于我也使用大标题,因此以下代码用于从MainViewController中删除标准的Navigation Controller图像,该图像是通过this article在线找到的。

struct System {
static func clearNavigationBar(forBar navBar: UINavigationBar) {
navBar.setBackgroundImage(UIImage(), for: .default)
navBar.shadowImage = UIImage()
navBar.isTranslucent = false
}
}


然后将以下内容放入视图中将出现的方法。

override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
if let navController = navigationController {
System.clearNavigationBar(forBar: navController.navigationBar)
navController.view.backgroundColor = .clear
}
}


现在我的问题是,当我单击对CategoryViewController进行选择的按钮时,使用CategoryViewController上的相同代码更改了 navController.view.backgroundColor = .black。问题是我遇到了一个我无法修复的非常奇怪的重叠错误。

enter image description here

在不牺牲标题的内置动画或使用不同代码获得相同结果的情况下,我还可以对内置问题做些其他事情吗?

谢谢大家!

最佳答案

找到了!我只是简单地再次编写了其他ViewController继承的代码。我运行两次的代码就是该错误。因此,CategoryViewController TopBar设置为固有的,您也可以简单地添加另一个自定义图像,该应用程序将完美运行而不会出现任何错误。

关于swift - 自定义导航栏在转到另一个 View 时重叠,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55034258/

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