在自定义键盘中正确实现handleInputModeList

时间:2016-06-21 23:45:38

标签: ios uigesturerecognizer ios-app-extension custom-keyboard

iOS 10中添加了一个新API,用于显示用户可以切换到的其他键盘列表 - 用户在系统键盘上长按地球仪时显示的相同列表。该功能的声明如下:
func handleInputModeList(from view: UIView, with event: UIEvent)

我的问题是,生成UIEvent供应的正确方法是什么?我打算使用UILongPressGestureRecognizer调用此函数,但此API不会显示UIEvent

1 个答案:

答案 0 :(得分:5)

我正以错误的方式解决这个问题。无需自定义手势处理。如标题中所述,应该向他们想要触发的控件添加目标操作,如下所示:

目标-C:
[keyboardButton addTarget:self action:@selector(handleInputModeListFromView:withEvent:) forControlEvents:UIControlEventAllTouchEvents];

夫特:
keyboardButton.addTarget(self, action: #selector(handleInputModeList(from:with:)), for: UIControlEvents.allTouchEvents)