iOS 13导航栏不适应内容

4
遇到了一个问题,当我尝试让导航栏透明时,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中调用的。 我该如何解决这个问题? enter image description here

你找到解决方案了吗? - Vin Gazoil
@VinGazoil 没有,还没有找到解决方案。似乎这是iOS 13本身的一个bug,因为我在其他应用程序中也看到了类似的情况。 - jackchmbrln
如果这个问题只出现在iOS 13上,您能否包含一个预期输出的截图?我很难完全理解手头的问题。 - ekscrypto
1个回答

0

对我来说,解决方案是在包含搜索栏的视图控制器中将extendedLayoutIncludesOpaqueBars设置为true


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接