use*_*242 1 uinavigationbar uinavigationcontroller uigesturerecognizer ios swift
我一直试图解决这个问题很长一段时间,但无法弄清楚。我有当前的设置:
在每个视图控制器中,我都隐藏了导航栏,如下所示:
self.navigationController?.setNavigationBarHidden(true, animated: true)
Run Code Online (Sandbox Code Playgroud)
问题是我在隐藏导航栏的视图控制器上松开了滑动手势。我需要启用动画并且不能使用:
self.navigationController?.navigationBar.isHidden = true
self.navigationController?.isNavigationBarHidden = true
Run Code Online (Sandbox Code Playgroud)
任何帮助都会很棒,因为我相信很多人都遇到过这个问题。谢谢!
答案如下:只需继承您的 NavigationController 并执行以下操作。
import UIKit
class YourUINavigationController: UINavigationController {
override func viewDidLoad() {
super.viewDidLoad()
interactivePopGestureRecognizer?.delegate = self
}
}
extension YourUINavigationController: UIGestureRecognizerDelegate {
func gestureRecognizerShouldBegin(_ gestureRecognizer: UIGestureRecognizer) -> Bool {
return viewControllers.count > 1
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2222 次 |
| 最近记录: |