在我的UINavigationController
中,我检查它是否有属性interactivePopGestureRecognizer
,然后设置为:
class UINavigationControllerExtended: UINavigationController, UIGestureRecognizerDelegate {
override func viewDidLoad() {
super.viewDidLoad()
if self.respondsToSelector(Selector("interactivePopGestureRecognizer")) {
self.navigationController?.interactivePopGestureRecognizer?.delegate = self
}
}
}
该属性可以设置为nil,但该属性仍然存在,因此我假设
respondsToSelector
始终返回true。有必要检查一下吗? 最佳答案
interactivePopGestureRecognizer
属性是在ios 7中添加的。用“cc>”检查它是否存在是没有意义的。就用它吧。
因为您使用可选链接调用它,如果respondsToSelector
属性是interactivePopGestureRecognizer
,则:
self.navigationController?.interactivePopGestureRecognizer?.delegate = self
什么都不会做。
关于swift - UINavigationController总是响应选择器InteractivePopGestureRecognizer吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34695003/