如何检查键盘是否显示?

How to check whether the keyboard is shown or not?

我正在使用 EarlGrey 对 iOS 项目进行自动化 UI 测试。我想在屏幕上滑开后检查键盘是否显示。

我在 EarlGrey 框架中看到名为 GREYKeyboard.h 的头文件,其中包含一个名为 isKeyboardShown 的函数,其布尔值 return。这对我很有帮助,但我不知道如何使用它,因为我无法访问此 API.

EarlGreyCarthage 一起安装。

您包含 GREYKeyboard.h header 并执行此操作:

if (GREYKeyboard.isKeyboardShown) {
    ; // the keyboard is showing
}
else {
    ; // it's not
}

我找到了解决办法。您可以通过编辑 module.modulemap 文件来访问 GREYKeyboard.h(这是私有的 header)。添加

header "../PrivateHeaders/GREYKeyboard.h"

行到文件。 module.modulemap 文件在编辑后应如下所示:

 framework module EarlGrey {
  umbrella header "EarlGrey.h"

  header "../PrivateHeaders/GREYKeyboard.h"
  export *
  module * { export * }
}