
KeyboardKit是SwiftUI SDK,可让您使用几行代码创建完全可自定义的键盘扩展名。
KeyboardKit具有更多功能,扩展了Apple的有限键盘API,并提供了其他功能,可让您几乎没有努力构建出色的自定义键盘。

KeyboardKit是开源的,并且完全免费。它可以使用KeyboardKit Pro扩展到解锁PRO功能,例如本地化键盘,自动完成和自动更正,AI支持,表情符号键盘,主题,命令等。
可以使用Swift Package Manager安装KeyboardKit:
https://github.com/KeyboardKit/KeyboardKit.git
要在键盘扩展程序中使用KeyboardKit,只需导入KeyboardKit ,然后让您的KeyboardController继承KeyboardInputViewController而不是UIInputViewController :
import KeyboardKit
class KeyboardController : KeyboardInputViewController { }这使您可以访问生命周期功能,例如viewWillSetupKeyboardView ,可观察的状态,服务等。
设置KeyboardKit的最简单方法是创建一个KeyboardApp值,该值为您的应用程序定义信息:
extension KeyboardApp {
static var keyboardKitDemo : Self {
. init (
name : " KeyboardKit " ,
licenseKey : " keyboardkitpro-license-key " ,
bundleId : " com.keyboardkit.demo " ,
appGroupId : " group.com.keyboardkit.demo " ,
deepLinks : . init ( app : " kkdemo:// " )
)
}
}要设置键盘,只需覆盖viewDidLoad并调用setup(for:)带有KeyboardApp应用值:
class KeyboardViewController : KeyboardInputViewController {
override func viewDidLoad ( ) {
super . viewDidLoad ( )
setup ( for : . keyboardKitDemo )
}
}要替换或自定义标准KeyboardView键盘,只需使用您要使用的视图来覆盖viewWillSetupKeyboardView并调用setupKeyboardView :
class KeyboardViewController : KeyboardInputViewController {
override func viewWillSetupKeyboardView ( ) {
super . viewWillSetupKeyboardView ( )
setupKeyboardView { [ weak self ] controller in // <-- Use weak or unknowned self!
KeyboardView (
state : controller . state ,
services : controller . services ,
buttonContent : { $0 . view } ,
buttonView : { $0 . view } ,
collapsedView : { $0 . view } ,
emojiKeyboard : { $0 . view } ,
toolbar : { _ in MyCustomToolbar ( ) }
)
}
}
}要设置具有相同配置的主应用程序,只需将root Content View包装在KeyboardAppView中:
import SwiftUI
import KeyboardKit
@ main
struct MyApp : App {
var body : some Scene {
WindowGroup {
KeyboardAppView ( for : . keyboardKitDemo ) {
ContentView ( )
}
}
}
}如果定义了appGroupId ,则使用KeyboardApp APP设置您的应用程序和键盘将使两者之间的设置同步,如果定义了licenseKey ,设置Distation,Deep Links,等等,请注册您的键盘KitboardKit Pro许可证。
有关更多信息,请参阅“入门指南”。
KeyboardKit支持71个特定于键盘的环境:
? ? ? ? ? ? ? ?q??️??
? ? ? ? ? ? ? ? ? ?
? ? ? ? ? ? ? ? ? ?
? ? ? ? ? ?? ?? ? ? ?
? ? ? ? ? ? ? ? ? ?️
? ? ? ? ? ? ? ? ? ?
? ? ? ? ? ? ? ? ? ?
????????
KeyboardKit仅包含本地化字符串,而KeyboardKit Pro为所有受支持的地区的本地化键盘,布局,赌注和行为。
KeyboardKit包含功能,可帮助您构建惊人的自定义键盘:
KeyboardKit Pro扩展了具有PRO功能的键盘Kit:
UITextDocumentProxy读取完整文档。在线文档为每个功能提供了一篇详细的文章,一个详尽的启动指南,代码样本等。您还可以从源代码构建它以获得更好的格式。
Demo文件夹具有一个演示应用程序,该应用程序显示了如何设置主键盘应用程序,显示键盘状态,提供应用内设置,链接到系统设置,应用自定义样式等。
该应用程序具有两个键盘 - 一个使用键盘键Keyboard和使用键盘kit Pro的键盘Pro的KeyboardPro 。请注意,您需要启用某些功能的完整访问,例如触觉反馈。
重要的
该演示未签署代码,因此不能使用应用程序组在应用程序及其键盘之间同步设置。因此, KeyboardPro键盘也具有键盘上的设置屏幕。
如果您想尝试不需要编写任何代码或从Xcode构建演示应用程序的键盘库,那么KeyboardKit应用程序就可以通过从应用商店下载它来尝试许多功能。
KeyboardKit是开源的,完全免费,但是您可以通过成为GitHub赞助商,升级到KeyboardKit Pro或与自由职业者工作,付费支持等联系来支持该项目。
如果您有疑问,或者您想以任何方式做出贡献:
根据MIT许可证可用键盘kit。有关更多信息,请参见许可证文件。