【问题标题】:Proper implementation of handleInputModeList in Custom Keyboard在自定义键盘中正确实现 handleInputModeList
【发布时间】:2016-10-23 16:54:46
【问题描述】:

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

我的问题是,生成UIEvent 的正确方法是什么?我打算使用UILongPressGestureRecognizer 调用这个函数,但是这个API 没有显示UIEvents。

【问题讨论】:

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


    【解决方案1】:

    我做错了。无需自定义手势处理。如标题中所述,应该向他们想要触发此操作的控件添加一个目标操作,如下所示:

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

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

    【讨论】:

    • 如果我这样做,我的键盘会因 SIGQUIT 错误而崩溃。我将坚持为我的 nextKeyboardButton 创建一个操作,并在按下它时调用 advanceToNextInputMode()。
    猜你喜欢
    • 2012-10-02
    • 2017-12-01
    • 1970-01-01
    • 2013-12-16
    • 1970-01-01
    • 2018-05-28
    • 1970-01-01
    • 2012-09-30
    • 1970-01-01
    相关资源
    最近更新 更多