如何在Swift中为我的应用程序制作自定义键盘?

如何在Swift中为我的应用程序制作自定义键盘? 我不希望人们去设置然后添加键盘。 我希望他们能够在我的应用程序上想要它时立即使用它。 无需额外的工作。

如何在Swift中实现这一点?

许多链接仅涉及在设置中添加新键盘。 我不希望这样。

我对UI很新,请给我详细说明。

用于文本输入的UITextField和UITextView类都具有inputView属性。 默认情况下,此属性为nil,但如果您为其提供视图,则在编辑该文本字段时,将弹出该视图而不是普通键盘。

要实现此function,请创建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() } } 

现在,无论您在何处使用此子类,都将使用自定义键盘视图。