swift:键盘观察器不起作用

时间:2015-08-17 07:43:44

标签: ios xcode swift ios8

我仍处于(快速)学习过程中,所以请原谅我身边的任何可怕的疏忽。 我在这个上下文中搜索了每个可能的问题,并尝试了我能找到的语法的所有不同的建议,想法和排列。 到目前为止没有运气。 下面的代码应该只允许我对键盘状态的变化做出反应:

Products

但每次都会以

崩溃
  

由于未捕获的异常终止应用程序' NSInvalidArgumentException',原因:' - [moreKeybNotifications.ViewController keybShow:]:无法识别的选择器发送到实例0x7fa130710e60'"

点击/单击文本字段时。

我甚至在某一点上注释掉了2个函数keybShow和keybHide,同样的崩溃仍然发生了。 任何意见都将非常感谢!

2 个答案:

答案 0 :(得分:3)

您已将keybShowkeybHide定义为viewDidLoad中的本地函数。请将它们放在class ViewController范围内。

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

func keybShow(notification: NSNotification) {
    println("kb show")
}


func keybHide(notification: NSNotification) {
    println("kb hide")
}

答案 1 :(得分:0)

    NotificationCenter.default.addObserver(self, selector:#selector(keyboardWillShow), name: .UIKeyboardWillShow, object: nil)

    NotificationCenter.default.addObserver(self, selector:#selector(keyboardWillHide), name: .UIKeyboardWillHide, object: nil)