当用户平移另一个视图时(与Spotify应用中播放器视图中发生的情况类似,我正在尝试撤消标签栏。但是,当我尝试在选项卡栏上使用CGAffineTransform
时,它没有任何作用。这是错误还是我错过了什么?
@objc func handleSlidePan(gesture: UIPanGestureRecognizer) {
if gesture.state == .changed {
let translation = gesture.translation(in: self.view)
footerView.transform = CGAffineTransform(translationX: 0, y: translation.y) //Works
if let tabBar = self.tabBarController?.tabBar {
tabBar.transform = CGAffineTransform(translationX: 0, y: -translation.y) //Dosen't work
}
}
}
效果参考
在主线程上调用它,也可以为其设置动画。
DispatchQueue.main.async {
UIView.animate(withDuration: 0.25) {
self.tabBar.transform = CGAffineTransform(translationX: 0, y: -translation.y)
}
}