iOS 13中TabBar上的CGAffineTransform

问题描述 投票:0回答:1

当用户平移另一个视图时(与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
        }
    }
}

效果参考

https://imgur.com/a/Zjf3F29

ios swift uigesturerecognizer uitabbar
1个回答
0
投票

在主线程上调用它,也可以为其设置动画。

    DispatchQueue.main.async {
        UIView.animate(withDuration: 0.25) {
            self.tabBar.transform = CGAffineTransform(translationX: 0, y: -translation.y)
        }
    }
© www.soinside.com 2019 - 2024. All rights reserved.