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

Ios 在自定义键盘中正确实现handleInputModeList,ios,uigesturerecognizer,ios-app-extension,custom-keyboard,Ios,Uigesturerecognizer,Ios App Extension,Custom Keyboard,iOS 10中添加了一个新的API,以显示用户可以切换到的其他键盘的列表——与用户长按系统键盘上的地球仪时显示的列表相同。函数的声明如下: func handleInputModeList(来自视图:UIView,带有事件:UIEvent) 我的问题是,生成要提供的UIEvent的正确方法是什么?我本来打算用uilongpressurerecognizer调用这个函数,但是这个API没有显示UIEvents。我做得不对。无需自定义手势处理。如标题中所述,应该向要触发此操作的控件添加目标操作,如下

iOS 10中添加了一个新的API,以显示用户可以切换到的其他键盘的列表——与用户长按系统键盘上的地球仪时显示的列表相同。函数的声明如下:
func handleInputModeList(来自视图:UIView,带有事件:UIEvent)


我的问题是,生成要提供的
UIEvent
的正确方法是什么?我本来打算用
uilongpressurerecognizer
调用这个函数,但是这个API没有显示
UIEvent
s。

我做得不对。无需自定义手势处理。如标题中所述,应该向要触发此操作的控件添加目标操作,如下所示:

目标C:
[Keyboard Button addTarget:self action:@selector(handleInputModeListFromView:withEvent:)for ControlEvents:UIControlEventAllTouchEvents]

斯威夫特:

keyboardButton.addTarget(self,action:#选择器(handleInputModeList(from:with:)),for:UIControlEvents.allTouchEvents)

如果我这样做,我的键盘会因SIGQUIT错误而崩溃。我将坚持为我的nextKeyboardButton创建一个操作,并在按下它时调用advanceToNextInputMode()。