如何在 Swift 中使 UITabBar 变得模糊

问题描述

我试图让 UITabBar 看起来模糊。 I am trying to make something like this in this image 但我的观点现在看起来像这样 This is my view for tabbar

我在 UITabbarController 中尝试了这段代码 -

Code:
class TabBarViewController: UITabBarController { 
    override func viewDidLoad() {
        super.viewDidLoad()
        configureTabbar()
    }
    
    func configureTabbar(){
        
        
        let blurEffect = UIBlurEffect(style: .dark)
        let vibrancyEffect = UIVibrancyEffect(blurEffect: blurEffect)

        let vibrancyView = UIVisualEffectView()
        vibrancyView.frame = tabBar.bounds
        vibrancyView.autoresizingMask = .flexibleWidth
        vibrancyView.effect = vibrancyEffect
        tabBar.insertSubview(vibrancyView,at: 0)
        
        tabBar.isTranslucent = true
        tabBar.backgroundImage = UIImage()
        tabBar.backgroundColor = .clear
        tabBar.barStyle = UIBarStyle.black
        tabBar.barTintColor = UIColor.clear
}

解决方法

UINavigationBarUITabBarUIToolbar 等系统栏在默认情况下是半透明的,您无需添加任何额外内容即可获得该效果。

您只需要确保您的视图扩展了系统栏下的内容。您可以转到情节提要并确保为您打算在其上看到此效果的 Extend Edges - Under Bottom Bars 选中 UIViewController

enter image description here