ios - 使用缺口设备(例如 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 的底部约束。
我在向上和向下滚动事件时触发了显示和隐藏功能。
解决方案
推荐阅读
- python - 需要让黑洞工作,必须与球相撞
- python-3.x - 如何获取列表列表的索引
- jquery - 以编程方式更改表格单元格(例如,行跨度)
- timer - 创建每 2 小时计时器并显示消息框
- amazon-redshift - 如何将 Redshift 数据库迁移到另一个 Redshift 集群
- java - 如何修复空对象引用位置
- ios - Kotlin - 按下按钮时运行打印语句
- c# - 信号量 C# 对象同步方法是从不同步的代码块中调用的
- javascript - 未处理的拒绝 SequelizeEagerLoadingError:电影与电影无关
- cmake - 找不到 ZEROMQTARGETS.cmake