我想清理一些屬性時,用戶滑動頁面彈出viewController,只是使其工作原理與點擊返回按鈕相同。如何識別interactivePopGestureRecognizer成功進行刷卡時彈出viewController?
我嘗試下面的代碼,但它失敗了,因爲不是每次刷卡都是成功的。由於手勢被取消,因此一些揮手彈出可能會失敗。
我在UIGestureRecognizer中找不到足夠好的代表(找到類似touchesEnded
的東西)。我也不能使用目標動作,因爲動作會被調用太多次。
func viewWillAppear(_ animated: Bool) {
self.navigationController.interactivePopGestureRecognizer.delegate = self
}
func gestureRecognizerShouldBegin(_ gestureRecognizer: UIGestureRecognizer) -> Bool {
viewModel.goBackPage(isSwipeBack: true)
return true
}
我該如何解決觸發器backButtonPressed
在刷卡時彈出viewController在正確的時刻?
你爲什麼不使用'viewDidDisappear'? –
因爲推到下一個viewController也會觸發viewDidDisappear。 但你給了我一個想法,也許我可以使用gestureRecognizer的狀態來設置一個標誌'isSwipeBegan'來決定我是否在viewDidDisappear中滑回。 – allenlinli