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

Proper implementation of handleInputModeList in Custom Keyboard

在 iOS10 中添加了一个新的 API 以显示用户可以切换到的其他键盘的列表 - 与用户在系统键盘上长按地球仪时出现的列表相同.函数声明如下:
func handleInputModeList(from view: UIView, with event: UIEvent)

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

我走错了路。无需自定义手势处理。如 headers 中所述,应在他们想要触发此操作的控件中添加 target-action,如下所示:

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

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