首页 > 解决方案 > 使用缺口设备(例如 iPhone X)显示/隐藏时,UITabBar 无法正确设置动画

问题描述

我正面临缺口设备的问题,例如带有 UITabBar 控件的 iPhone X。请参阅下面的附件,在 iPhone 8 上运行良好。

在此处输入图像描述

下面是我的代码:

class TabVC: UIViewController  {
    @IBOutlet var tabBar: UITabBar!
    @IBOutlet var constraintBottomSpace: NSLayoutConstraint!
    
    override func viewDidLoad() {
        super.viewDidLoad()

    }
   func hide() {
        
        self.tabBar.alpha = 1
            UIView.animate(withDuration: 1, delay: 0, options: .curveLinear, animations: {
                self.constraintBottomSpace.constant = -50
                self.tabBar.alpha = 0
                self.view.layoutSubviews()
        })
    }
    
    func show() {
        self.tabBar.alpha = 0
        UIView.animate(withDuration: 1, delay: 0, options: .curveLinear, animations: {
           self.tabBar.alpha = 1
            self.constraintBottomSpace.constant = 16
            self.view.layoutSubviews()
         })
    }
}

见下文是我为第一项设置了安全 Area.Bottom 的底部约束。

在此处输入图像描述

我在向上和向下滚动事件时触发了显示和隐藏功能。

标签: iosswiftxcodeuitabbar

解决方案


推荐阅读