Мне интересно, возможно ли на самом деле использовать UIPanGestureRecognizer
на нажатой UIViewController
для достижения аналогичного поведения, как в представлении чата Telegram Messenger (и многих других популярных приложений), где вы можете просто проведите пальцем вправо от любого места на экране, чтобы вернуться в меню (или любой другой View Controller, который изначально выдвинул тот, на который мы смотрим).
Я попробовал этот код:
@objc func swipeLeft(_ sender: UIPanGestureRecognizer) {
let point = sender.translation(in: view)
containerView.center = CGPoint(x: point.x > 0 ? view.center.x + point.x : view.center.x, y: view.center.y)
if sender.state != .ended { return }
if containerView.center.x < view.frame.width / 2 {
dismissSelf()
}
else {
UIView.animate(withDuration: 0.2) {
self.containerView.center = self.view.center
}
}
}
и UIPanGestureRecognizer
, которые хорошо работают, если вы present
редактировали свой ViewController, но не когда он был нажат. По крайней мере, не так, как сейчас.
Прямо сейчас вы видите черный вид, и это также то, что вы видите в «иерархии отладочных представлений» в нижней части толкаемого UIViewController.
Любая помощь приветствуется!