ViewController消失时删除键盘通知

问题描述 投票:1回答:3

如何删除键盘通知?

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

我改变视图大小取决于键盘是打开还是关闭。

ios swift notifications uikeyboard
3个回答
1
投票

试试这个删除键盘打开的节目观察者,

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

你应该根据你的要求在deinitviewDidDisappear中删除观察者。


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)
}

0
投票

尝试下面的代码希望它适合你

override func viewDidDisappear(animated: Bool) {
            NSNotificationCenter.defaultCenter().removeObserver(self)
        }
© www.soinside.com 2019 - 2024. All rights reserved.