【发布时间】:2021-03-19 11:44:53
【问题描述】:
在寻求了很多并尝试了很多解决方案之后,没有解决我的问题。 在我的应用中,我自定义了 UINavigationController 以获得模糊效果:
import UIKit
class CustomNavigationController: UINavigationController {
override func viewDidLoad() {
super.viewDidLoad()
let visualEffectView = UIVisualEffectView(effect: UIBlurEffect(style: .regular))
visualEffectView.frame = (self.navigationBar.bounds.insetBy(dx: 0, dy: -40).offsetBy(dx: 0, dy: -40))
self.navigationBar.isTranslucent = true
self.navigationBar.setBackgroundImage(UIImage(), for: .default)
self.navigationBar.addSubview(visualEffectView)
self.navigationBar.sendSubviewToBack(visualEffectView)
}
}
然后在 Main.storyboard 中,我为导航控制器项选择了自定义类。
模糊效果正常,状态图标正确可见,但不是标准的导航栏项目:左键、标题和右键。
它们会出现片刻,但在自定义导航栏覆盖它们之后不久。
我正在使用 Xcode 12.4,我正在 iPhone Xr 上运行该应用程序。
如何再次显示导航栏元素?
非常感谢。
【问题讨论】: