Может ли UISwipeGestureRecognizer работать для просмотра в UIHostingController?
В соответствии с ответом в /questions/56446045/mogu-li-ya-imet-polnoekrannyij-viewcontroller-no-vse-esche-mogu-provesti-paltsem/56446053#56446053, я могу провести пальцем вниз, чтобы закрыть полноэкранный ViewController, используя
UISwipeGestureRecognizer
.
Однако, когда я передаю тот же код в
UIHostingController
как показано ниже, это больше не работает
class ContextViewController: UIHostingController<CustomDrawViewWrapper> {
let drawViewWrapper: CustomDrawViewWrapper
init(drawView: CustomDrawView) {
self.drawViewWrapper = CustomDrawViewWrapper(drawView: drawView)
super.init(rootView: self.drawViewWrapper)
}
required init?(coder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
override func viewDidLoad() {
super.viewDidLoad()
view.isUserInteractionEnabled = true
let gesture = UISwipeGestureRecognizer(target: self, action: #selector(dismissVC))
gesture.direction = .down
view.addGestureRecognizer(gesture)
}
@objc
private func dismissVC() {
dismiss(animated: true)
}
}
Все, что мне нужно сделать, чтобы свайп вниз работал
UIHostingController
?
Примечание: проведите пальцем вниз, чтобы закрыть, все еще работает, если
UIHostingController
не в полноэкранном режиме.