在我的tabBarController中,我使用这两种方法来隐藏/显示tabBar:
func showTabBar() {
tabBar.isHidden = false
UIView.animate(withDuration: 0.3) {
self.tabBar.transform = .identity
}
}
func hideTabBar() {
UIView.animate(withDuration: 0.3, animations: {
self.tabBar.transform = CGAffineTransform(translationX: 0, y: self.tabBar.frame.height)
}, completion: { _ in
self.tabBar.isHidden = true
})
}
这在iOS 12及以下版本中效果很好,但是在iOS 13中,应用了转换后,整个tabBar都被破坏了(参见图片)。我知道您可以使用框架动画隐藏tabBar,但是应用转换要容易得多,而且我不明白为什么会破坏它和iOS 13中发生了哪些更改,从而阻止了此功能。
tabbar的'transform'属性目前在iOS 13中不起作用,也许以后会起作用。