我无法使用AUIScreenEdgePanGestureRecognizer
来识别自定义键盘扩展中屏幕右边缘或左边缘的边缘滑动。我创建了一个新项目来对此进行测试。OtherUIGestureRecognizer
的工作正常,如下所述。
@implementation KeyboardViewController // A subclass of UIInputViewController
...
-(void)viewDidLoad {
...
UIScreenEdgePanGestureRecognizer *gestureRecognizer = [[UIScreenEdgePanGestureRecognizer alloc] initWithTarget:self action:@selector(handleGesture)];
[gestureRecognizer setEdges:UIRectEdgeAll];
[self.view addGestureRecognizer:gestureRecognizer];
}
- (void)handleGesture
{
NSLog(@"gesture handled");
}
如果将其更改为aUIPanGestureRecognizer
或a,则会在控制台中UITapGestureRecognizer
看到gesture handled
。我可以使用UIPanGestureRecognizer
只接受在屏幕边缘附近开始的手势的。
Kiwi Keyboard使用类似的解决方法。
警告:在UIPanGestureRecognizer
只有工作,如果self.view
有一个背景颜色。
据我所知,尽管名称边UIScreenEdgePanGestureRecognizer
的edges
必须设置为一个单一的边缘。UIRectEdgeAll
将不起作用,您必须UIScreenEdgePanGestureRecognizer
为每个边缘创建一个,不能将边缘或在一起。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句