Ios 如何在Swift中仅为我的应用程序制作自定义键盘?
如何在Swift中仅为我的应用程序制作自定义键盘?我不希望人们去设置,然后添加键盘。我希望他们能够在需要时立即在我的应用程序上使用它。不需要额外的工作 如何在Swift中实现这一点 许多链接只讨论在设置中添加新键盘。我不想那样Ios 如何在Swift中仅为我的应用程序制作自定义键盘?,ios,swift,custom-keyboard,Ios,Swift,Custom Keyboard,如何在Swift中仅为我的应用程序制作自定义键盘?我不希望人们去设置,然后添加键盘。我希望他们能够在需要时立即在我的应用程序上使用它。不需要额外的工作 如何在Swift中实现这一点 许多链接只讨论在设置中添加新键盘。我不想那样 我对UI很陌生,请给我详细的解释 用于文本输入的UITextField和UITextView类都具有inputView属性。默认情况下,此属性为nil,但如果为其提供了视图,则在编辑该文本字段时,将弹出该视图而不是普通键盘 要实现这一点,请创建UIView的子类,用于设置
我对UI很陌生,请给我详细的解释 用于文本输入的UITextField和UITextView类都具有inputView属性。默认情况下,此属性为nil,但如果为其提供了视图,则在编辑该文本字段时,将弹出该视图而不是普通键盘 要实现这一点,请创建UIView的子类,用于设置自定义键盘布局。然后,当您在应用程序中使用文本字段或文本视图时,必须为每个字段单独设置,如下所示:
let myCustomKeyboard = MyCustomKeyboardView()
myTextField.inputView = myCustomKeyboard
就是这样,现在您的文本字段使用您提供的自定义键盘
由于您希望在应用程序中全局使用键盘,并且必须为每个文本字段或文本视图分别设置键盘,因此此解决方案将导致大量代码重复。由于代码复制被广泛认为是一件坏事,在您的情况下,更好的实现是将UITextField或UITextView子类化(显然取决于您使用的是哪一个),并在构造函数中设置键盘:
class MyCustomKeyboardTextField: UITextField {
override init() {
super.init()
setupCustomKeyboard()
}
required init(coder: aCoder) {
super.init(aCoder)
}
override func awakeFromNib() {
setupCustomKeyboard()
}
func setupCustomKeyboard() {
// Set the custom keyboard
self.inputView = MyCustomKeyboardView()
}
}
现在,无论您在何处使用此子类,都将使用自定义键盘视图。如何获取要在文本字段中输入的键文本?我使用以下示例制作了自己的应用程序内键盘:希望它能帮助您入门。