当ViewController消失时删除键盘通知

时间:2019-03-28 10:27:00

标签: ios swift notifications uikeyboard

如何删除键盘通知?

我将观察者放在打开和关闭键盘上。

我根据键盘的打开或关闭来更改视图大小。

3 个答案:

答案 0 :(得分:1)

尝试删除键盘打开的显示观察器,

NotificationCenter.default.removeObserver(self, name: NSNotification.Name.UIKeyboardWillShow, object: nil)
NotificationCenter.default.removeObserver(self, name: NSNotification.Name.UIKeyboardWillHide, object: nil)

您应根据需要删除deinitviewDidDisappear中的观察者。

答案 1 :(得分:1)

您可以将代码放在两个位置。

override func viewDidDisappear(_ animated: Bool) {
        super.viewDidDisappear(animated)
        NotificationCenter.default.removeObserver(self, name: NSNotification.Name.UIKeyboardWillShow, object: nil)
        NotificationCenter.default.removeObserver(self, name: NSNotification.Name.UIKeyboardWillHide, object: nil)
    }

在这个

deinit{
      NotificationCenter.default.removeObserver(self, name: NSNotification.Name.UIKeyboardWillShow, object: nil)
      NotificationCenter.default.removeObserver(self, name: NSNotification.Name.UIKeyboardWillHide, object: nil)
}

答案 2 :(得分:0)

尝试以下代码,希望它对您有用

override func viewDidDisappear(animated: Bool) {
            NSNotificationCenter.defaultCenter().removeObserver(self)
        }