来自计算机的IOS键盘输入



我有一个IOS应用程序,如果它可以响应我在计算机上的键盘敲击,那么对于测试目的来说将非常方便。有没有办法这是可行的?

更多背景:我有一个自定义键盘,我用图像制作了它,当触摸时会打印按下的字母。但是,如果我尝试使用计算机键盘键入字母,我的自定义键盘不会打印字母,只有当我使用设备或模拟器手动按下字母时。Apple内置键盘会自动为您执行此操作,但是它不符合我对要构建的应用程序的需求。

所以我的问题是:

有没有办法从IOS设备上的计算机键盘获取输入,而无需来自默认的Apple键盘?

要回答我自己的问题,是的,有一个解决方案。

我做了什么:

我实现了 UIKeyInput 协议和它附带的三种方法:

public func insertText(text: String) {  } // <-- keyboard input comes in through here
public func deleteBackward() { }
public func hasText() -> Bool { return true; }

之后,我对canBecomeFirstResponder方法进行了覆盖

public override func canBecomeFirstResponder() -> Bool {
    return true;
}

我做的最后一件事就是调用成为第一响应者方法

self.becomeFirstResponder()

现在,当您在计算机上按键盘上的键时,这应该允许您从 insertText 方法接收键盘输入(甚至可能是 iPad,我没有测试过,但我假设是这样)。

最新更新