iOS キーボードが表示・非表示の状態を取得したい。


iOS10.11で、キーボードが表示・非表示の状態を取得したい。

キーボードが表示されている場合と、非表示の場合で処理を処理を分けたいです。



[code]

    // 変数用意しておく
    var isShown = false
    
    // viewDidLoadなどで監視を設定
    NotificationCenter.default.addObserver(self, selector: #selector(keyboardDidAppear), name: UIResponder.keyboardDidShowNotification, object: nil)
    NotificationCenter.default.addObserver(self, selector: #selector(keyboardDidDisappear), name: UIResponder.keyboardDidHideNotification, object: nil)
    
    フラグを切り替える
    @objc func keyboardDidAppear() {
        isShown = true
    }
    @objc func keyboardDidDisappear() {
        isShown = false
    }
    
    if isShown {
        // キーボードが表示されている時
    } else {
        // 隠れている時
    }
    
[/code]

