Ios 如何根据方向配置开关方向

Ios 如何根据方向配置开关方向,ios,swift,Ios,Swift,我尝试根据方向实现不同的滑动方向(向左滑动为横向模式,向上滑动为纵向模式)。除了视图以新方向显示的第一个方向外,它还可以工作,您必须首先滑动另一个方向。只有一次。 你能帮我了解发生了什么事吗 这是我的代码: override func viewDidLoad() { super.viewDidLoad() let swipe = UISwipeGestureRecognizer(target: self, action: #selector (orientation(_:)))

我尝试根据方向实现不同的滑动方向(向左滑动为横向模式,向上滑动为纵向模式)。除了视图以新方向显示的第一个方向外,它还可以工作,您必须首先滑动另一个方向。只有一次。 你能帮我了解发生了什么事吗

这是我的代码:

override func viewDidLoad() {
        super.viewDidLoad() 
let swipe = UISwipeGestureRecognizer(target: self, action: #selector (orientation(_:)))
        swipe.direction = [.up, .left]
        self.view.addGestureRecognizer(swipe)


    }
    @objc func orientation (_ sender : UISwipeGestureRecognizer) {
        if UIDevice.current.orientation.isLandscape {
            sender.direction.remove(.up)
            swipeLabel.text = "Swipe left to share"
            print("je suis landscape et left")
            sender.direction = .left
            shareScreenShot()

        }else if UIDevice.current.orientation.isPortrait {
            swipeLabel.text = "Swipe up to share"
            print("je suis portrait et up")
            sender.direction = .up
            shareScreenShot()

        }

不需要滑动手势来设置方向,为什么不使用
viewWillLayoutSubviews
(方向改变时会调用)来实现这一点呢?事实上,我转向了这个解决方案。谢谢。与其使用滑动手势来设置方向,为什么不使用
viewWillLayoutSubviews
(方向改变时会调用)来完成此操作呢?事实上,我转向了这个解决方案。非常感谢。