在Swift中的自定义键盘扩展中实现自定义输入视图

时间:2017-12-14 12:10:07

标签: ios swift keyboard uitextfield

关注此主题(& others)

A Swift example of Custom Views for Data Input (custom in-app keyboard)

我已经从应用中的笔尖构建了自定义输入视图。

但是,我想在自定义键盘扩展中实现它。我想让用户直接在自定义键盘中搜索内容。

不确定它是否与响应者链或UIInputViewController与UIViewController或什么有关。

这是KeyboardViewController,如果需要,会发布更多内容。 任何建议都会很棒。

键盘构建正常,但当我点击UITextField时,没有任何反应。光标开始闪烁,但笔尖从不显示。

import UIKit

class KeyboardViewController: UIInputViewController, KeyboardDelegate {

    @IBOutlet weak var textField: UITextField!
    @IBOutlet var nextKeyboardButton: UIButton!


    override func viewDidLoad() {
        super.viewDidLoad()

        let keyboardView = Keyboard(frame: CGRect(x: 0, y: 0, width: 0, height: 300))
        keyboardView.delegate = self // the view controller will be notified by the keyboard whenever a key is tapped

        // replace system keyboard with custom keyboard
        textField.inputView = keyboardView
    }

    // required method for keyboard delegate protocol
    func keyWasTapped(character: String) {
        textField.insertText(character)
    }
    func keyDone() {
        view.endEditing(true)
    }
    func backspace() {
        textField.deleteBackward()
    }
    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated
    }



}

1 个答案:

答案 0 :(得分:0)

您是否在模拟器上进行测试?如果是这样,当您在模拟器上时按Command + K以触发软键盘。模拟器不会刷新键盘,因为它知道你的真正的PC键盘更容易使用。

希望这有帮助!