是否可以关闭屏幕某些部分的后掠功能?特别是,我正在考虑使用此方法:
func gestureRecognizerShouldBegin(gestureRecognizer: UIGestureRecognizer!) -> Bool {
return false;
}
我正在考虑识别用户按下的屏幕部分,如果在一定间隔内,我将返回true,否则返回false。不知道如何在用户按下的地方取纸。
答案 0 :(得分:2)
我假设您正在谈论UINavigationController提供的功能。
首先,您的类应符合UIGestureRecognizerProtocol这样的要求:
class MyController: UIViewController, UIGestureRecognizerProtocol
然后您需要注册成为导航控制器的委托,因此可能在viewDidLoad或viewWillAppear中(取决于需要)具有以下功能:
self.navigationController?.interactivePopGestureRecognizer?.delegate = self
然后,您可以使用以下命令检查手势在视图中的开始位置:
func gestureRecognizerShouldBegin(_ gestureRecognizer: UIGestureRecognizer) -> Bool {
let location = gestureRecognizer.location(in: self.view)
if location.y > 500 {
return false
}
return true
}
很明显,这只是一个测试用例,当它在垂直方向上开始高于500时,它会忽略手势,您可以将其更改为所需的任何内容。