我的自定义键盘显示在屏幕上时调用了哪种方法?

时间:2015-10-21 10:09:07

标签: ios swift custom-keyboard

我开发了自定义键盘。现在我想提供一些功能,比如某些用户从我的容器应用程序中选择颜色,然后打开我的键盘,键盘的背景颜色会变为该颜色。怎么做到这一点?每次当某人切换到我的自定义键盘以便我可以在该方法上编写代码时,会调用哪种方法?

2 个答案:

答案 0 :(得分:0)

没有调用预定义的方法,但您可以设置NSNotification。在viewdidload方法中插入:

NSNotificationCenter.defaultCenter().addObserver(self, selector: "keyboardWasShown:", name: UIKeyboardDidShowNotification, object: nil)
NSNotificationCenter.defaultCenter().addObserver(self, selector: "keyboardWillBeHidden:", name: UIKeyboardWillHideNotification, object: nil)

然后添加将被调用的两个方法键盘出现或消失:

func keyboardWasShown(notification: NSNotification) {
    print("keyboard up")
}

func keyboardWillBeHidden(notification: NSNotification) {
    print("keyboard down")
}

但请记住删除viewWillDisappear中的通知:

NSNotificationCenter.defaultCenter().removeObserver(self, name: UIKeyboardDidShowNotification, object: self.view.window)
NSNotificationCenter.defaultCenter().removeObserver(self, name: UIKeyboardWillHideNotification, object: self.view.window)

再见。

答案 1 :(得分:0)

使用套件名称将Color属性保存为带有套件名称的UserDefaults中的十六进制字符串。然后在扩展应用的viewDidLoad方法中使用此颜色作为背景颜色。