iOS App / Keyboard插件无效

时间:2016-08-11 10:32:55

标签: ios swift xcode keyboard

所以我一直在学习Swift和XCode接口以进入iOS开发。要做到这一点,我一直在练习一些项目,这些项目将帮助我了解所有这些,所以我选择了一个制作自定义键盘的项目。但是,因为我猜测教程是用旧版本的Swift / XCode编写的,所以我一直都会遇到错误,尤其是错误。

任何时候我进入设置并添加我的自定义键盘,我会去使用它,每当我在键盘切换器中切换它时,键盘崩溃并默认返回原始iOS键盘(这在模拟器和我的手机上都会发生此外,目标iOS是正确的)。在那次崩溃后,我收到了这个错误:

plugin CalculatorKeyboard plugin myName.CalculatorKeyboard.Calculator interrupted
plugin CalculatorKeyboard plugin myName.CalculatorKeyboard.Calculator invalidated

我正在使用的当前代码:

class KeyboardViewController: UIInputViewController {

var customInterface: UIView!

override init(nibName nibNameOrNil: String?, bundle nibBundleOrNil: NSBundle?) {
    super.init(nibName: nibNameOrNil, bundle: nibBundleOrNil)

    let nib = UINib(nibName: "Calculator", bundle: nil)
    let objects = nib.instantiateWithOwner(self, options: nil)
    customInterface = objects[0] as! UIView
    }

override func viewDidLoad() {
    super.viewDidLoad()
    view.addSubview(customInterface)
    }
}

旧代码:

// var customInterface: UIView!

    override func viewDidLoad() {
    super.viewDidLoad()
    loadInterface()
}

func loadInterface() {
    let calculatorNib = UINib(nibName: "Calculator", bundle: nil)
    let objects = calculatorNib.instantiateWithOwner(self, options: nil)
    view = objects[0] as! UIView
}

我希望能得到一些帮助,因为我无法在Google上找到任何答案。谢谢! :)

注意:如果我可以使用旧代码,我更愿意,因为它在自己的功能中更加清晰。

1 个答案:

答案 0 :(得分:1)

这将有效

override func viewDidLoad() {
        super.viewDidLoad()
        let nib = UINib(nibName: "KeyboardView", bundle: nil)
        let objects = nib.instantiateWithOwner(self, options: nil)
        view = objects[0] as! UIView;

    }

还有一个很好的演示应用程序,用swift和Objective-C https://github.com/iManiaq/ios-color-keyboard

编写

修改   转到setting-> general->键盘 你在那里添加键盘

enter image description here

在此输入图片说明

enter image description here