【发布时间】:2014-11-06 22:02:43
【问题描述】:
问题
我无法使用 UIScreenEdgePanGestureRecognizer 在自定义键盘扩展中识别来自屏幕右边缘或左边缘的边缘滑动。我创建了一个新项目来测试它。其他UIGestureRecognizer 的工作正常,如下所述。
示例
@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");
}
Download my example project on Github
可能的解决方法
如果我将其更改为UIPanGestureRecognizer 或UITapGestureRecognizer,我会在控制台中看到gesture handled。我可以使用UIPanGestureRecognizer,它只接受从屏幕边缘附近开始的手势。
Kiwi Keyboard 使用这样的解决方法。
警告:UIPanGestureRecognizer 仅在 self.view 具有背景颜色时才有效。
【问题讨论】:
标签: ios ios8 uikit ios-app-extension ios-keyboard-extension