遇到了一个问题,当我尝试让导航栏透明时,iOS 13 中的导航栏出现了问题。我有一个导航栏,它会在视图控制器出现/消失时显示和隐藏。
当我弹出导航控制器并再次显示导航栏时,背景图像和阴影图像没有填充整个导航栏的内容。
如您所见,我在导航栏中有一个搜索栏,该搜索栏来自于一个 UISearchController。
以下是显示/隐藏导航栏的代码:
这些方法是在初始视图控制器和推送视图控制器的
当我弹出导航控制器并再次显示导航栏时,背景图像和阴影图像没有填充整个导航栏的内容。
如您所见,我在导航栏中有一个搜索栏,该搜索栏来自于一个 UISearchController。
以下是显示/隐藏导航栏的代码:
extension UINavigationController {
public func showTransparentNavigationBar() {
navigationBar.setBackgroundImage(UIImage(), for: .default)
navigationBar.shadowImage = UIImage()
}
public func hideTransparentNavigationBar() {
navigationBar.setBackgroundImage(nil, for: .default)
navigationBar.shadowImage = nil
}
}
这些方法是在初始视图控制器和推送视图控制器的
viewDidAppear
中调用的。
我该如何解决这个问题?
![enter image description here](https://istack.dev59.com/Taux0.webp)