我在 iOS 13 中将导航栏设置为透明时遇到了问题。我有一个导航栏,当视图控制器出现/消失时显示和隐藏。
当我弹出导航控制器并再次显示导航栏时,背景图像和阴影图像并没有填充导航栏的所有内容。
正如您从图像中看到的那样,我在导航栏中有搜索栏,它源自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
这些方法在初始视图控制器和推送视图控制器上被调用。
我该如何解决这个问题?