License Pod Version

Keybro

它是什么?

它是一个 UIKeyCommand 的封装,允许你轻松地为你的 iOS 应用创建键盘快捷键。 它可以加速模拟器中的开发和手动测试应用。 这个微型库包含一个文件,只有 120 行代码。你可以运行示例应用,运行 pod try Keybro 或滚动下方寻找灵感。

为什么使用它?

如果你统计一下你在开发过程中重复相同操作的次数(拖动光标、点击、滚动、再次拖动、点击等等),你可能会意识到使用键盘快捷键可以节省一些时间和精力。实际上,如果你不想使用这个微型库,你可以直接使用 UIKeyCommand 并获得相同的结果。 这取决于你。

示例

这个项目的主要目的是给你一些想法和基本工具。

A) 无需任何触摸即可显示特定屏幕并关闭它们 (源代码链接)

B) 循环浏览屏幕上的控件 (源代码链接)

C) 使用空格键滚动内容 (源代码链接)

D) 使用数字键盘输入密码 (源代码链接)

E) 使用箭头键 ← → 进行应用导航 (源代码链接)

F) 切换标签控制器中的标签 (源代码链接)

G) 返回一个键盘快捷键来切换缓慢动画模式的开/关或显示调试菜单 (源代码链接)

H) 或者做一些无用但有趣的事情,比如放大 🔫 (源代码链接)

安装

Swift Package Manager

包名称是 Keybro,完整包链接是 https://github.com/antongaenko/keybro

Cocoapods

pod 'Keybro'

手动

只需下载并将 Keybro.swift 作为源文件添加到你的项目(它只有 120 行代码)。

curl -O https://raw.githubusercontent.com/antongaenko/keybro/main/keybro/Keybro.swift

如何使用?

UIViewController 实例上调用方法:add(command: Command)add(commands: [Command])

如果你只想在调试版本中添加键盘快捷键,只需使用 addDebug(command: Command)addDebug(commands: [Command]) 方法。

你可以随时调用 removeAllCommands() 来删除附加到当前视图控制器的命令。 在简单情况下,无需调用它。

例如,对于预定义的键(空格、回车、退格、数字、制表符),你可以这样写

controller.add(commands: [.space(dismiss), .enter(dismiss), .backspace(dismiss)])

查看这个完整示例 ScenariosExampleViewController

对于带有箭头的自定义键,你可以这样写

navigationController.add(commands: [
    .custom(input: UIKeyCommand.inputRightArrow, modifiers: [], action: { [weak navigationController] in
        navigationController?.pushViewController(LoopThroughExampleViewController(), animated: true)
    }),
    .custom(input: UIKeyCommand.inputLeftArrow, modifiers: [], action: { [weak navigationController] in
        navigationController?.popViewController(animated: true)
    })
])

查看完整示例 AppDelegate

不要忘记在命令的操作块中使用 weak 引用。

某些键盘快捷键可能无法工作,因为与系统快捷键冲突。 在这种情况下,你可以更改修饰符。

贡献

如果您发现任何错误,请打开一个 issue 并提供详细信息。

作者

👋🏻 Anton Gaenko。 您可以通过 hi (at) antongaenko.dev 联系我,提出问题或一起编写代码。 也许你想支持我,但没有看到任何付款链接))

许可证

该项目根据 MIT 许可证获得许可 - 有关详细信息,请参阅 LICENSE.md 文件。

后记

如果您发现此项目对您和您的团队有用,请传播这个项目并点亮星星。 祝你好运,编码愉快! 💁‍♂️