如何在 Swift 中为我的应用制作自定义键盘?
How to make custom keyboard only for my app in Swift?
如何在 Swift 中为我的应用制作自定义键盘?我不希望人们去设置然后添加键盘。我希望他们在我的应用程序上需要时能够立即使用它。无需额外工作。
如何在 Swift 中实现?
很多链接只讨论在设置中添加新键盘。我不要那个。
我对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()
}
}
现在,无论您在哪里使用该子类,都将使用自定义键盘视图。
如何在 Swift 中为我的应用制作自定义键盘?我不希望人们去设置然后添加键盘。我希望他们在我的应用程序上需要时能够立即使用它。无需额外工作。
如何在 Swift 中实现?
很多链接只讨论在设置中添加新键盘。我不要那个。
我对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()
}
}
现在,无论您在哪里使用该子类,都将使用自定义键盘视图。