見出し画像

キーボード出現の監視メソッド Swift4.2

最近アップデート(2018/9/18)でSwiftが4.2にバージョンアップされました。それに伴い、キーボードの 「NSNotification.Name.UIKeyboardWillShow」 が変更になったみたいなので、その備忘録です。

以前だと以下のようにかけていました。

//キーボードが表示されるタイミングで呼び出される。
NotificationCenter.default.addObserver(self,
                                               selector: #selector(keyboardWillBeShown(notification:)),
                                               name: NSNotification.Name.UIKeyboardWillShow,
                                               object: nil)
// キーボードが消えるタイミングで呼び出される。
NotificationCenter.default.addObserver(self,
                                               selector: #selector(keyboardWillBeHidden(notification:)),
                                               name: NSNotification.Name.UIKeyboardWillHide,
                                               object: nil)

以前はNSNotification.Nameとして管理されていたメソッドたちですが、今回からは 「UIResponder」として管理されているみたいで、上記メソッドを使用すると、エラーとなってしまいます。 「Swift4.2」からは下記のように呼び出すことができるみたいです。

//キーボードが表示されるタイミングで呼び出される。
NotificationCenter.default.addObserver(self,
                                               selector: #selector(keyboardWillBeShown(notification:)),
                                               name: UIResponder.keyboardWillShowNotification,
                                               object: nil)
// キーボードが消えるタイミングで呼び出される。
        NotificationCenter.default.addObserver(self,
                                               selector: #selector(keyboardWillBeHidden(notification:)),
                                               name: UIResponder.keyboardWillHideNotification,
                                               object: nil)

これでエラーが消えて、めでたしめでたし( ^ω^ )

またこの記事で不備等があればコメントなどで教えていただけますと幸いですorz

この記事が気に入ったらサポートをしてみませんか?