UIScreenEdgePanGestureRecognizer - PullRequest
       15

UIScreenEdgePanGestureRecognizer

0 голосов
/ 14 февраля 2019

Я пытаюсь реализовать жест панорамирования края экрана для моего контроллера вида.Но проблема в том, что если вы пытаетесь добавить жест панорамирования края для двух ребер (UIRectEdge.left, UIRectEdge.right) как

let screenEdgePanGesture = UIScreenEdgePanGestureRecognizer.init(target: self, action: #selector(self.didPanningScreen))
screenEdgePanGesture.edges = [.right, .left]
screenEdgePanGesture.delegate = self
self.view.addGestureRecognizer(screenEdgePanGesture)

, то метод выбора не вызывает.Но жест панорамирования края работает для одного края, т.е.

let screenEdgePanGesture = UIScreenEdgePanGestureRecognizer.init(target: self, action: #selector(self.didPanningScreen))
screenEdgePanGesture.edges = .right
screenEdgePanGesture.delegate = self
self.view.addGestureRecognizer(screenEdgePanGesture)

1 Ответ

0 голосов
/ 14 февраля 2019

Да, вы правы, UIScreenEdgePanGestureRecognizer edges принимает / работает только с одним значением, поэтому вам нужно создать две разные функции для панорамирования левого и правого края.

Swift 4

let screenEdgePanGestureRight = UIScreenEdgePanGestureRecognizer.init(target: self, action: #selector(self.didPanningScreenRight(_:)))
screenEdgePanGestureRight.edges = .right
screenEdgePanGestureRight.delegate = self
self.view.addGestureRecognizer(screenEdgePanGestureRight)

let screenEdgePanGestureLeft = UIScreenEdgePanGestureRecognizer.init(target: self, action: #selector(self.didPanningScreenLeft(_:)))
screenEdgePanGestureLeft.edges = .left
screenEdgePanGestureLeft.delegate = self
self.view.addGestureRecognizer(screenEdgePanGestureLeft)

@objc func didPanningScreenRight(_ recognizer: UIScreenEdgePanGestureRecognizer)  {
    print("Right edge penning")
}

@objc func didPanningScreenLeft(_ recognizer: UIScreenEdgePanGestureRecognizer)  {
    print("Left edge penning")
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...