iOS开发之Swift基础

Swift--监听iPhone键盘弹出及隐藏事件

2017-12-11  本文已影响17人  T9的第三个三角

开发需求:对键盘弹出及隐藏事件进行监听

需要通过NotificationCenter对键盘事件进行监听

      //键盘即将弹出
        NotificationCenter.default.addObserver(self, selector: #selector(self.keyboardShow(note:)), name: NSNotification.Name.UIKeyboardWillShow, object: nil)
        //键盘即将隐藏
        NotificationCenter.default.addObserver(self, selector: #selector(self.keyboardHidden(note:)), name: NSNotification.Name.UIKeyboardWillHide, object: nil)

      //键盘弹出监听
    @objc func keyboardShow(note: Notification)  {
        guard let userInfo = note.userInfo else {return}
        guard let keyboardRect = userInfo[UIKeyboardFrameEndUserInfoKey] as? CGRect else{return}
        //获取键盘弹起的高度
        let keyboardTopYPosition = SCREENHEIGHT - keyboardRect.height
       
    }
    
    //键盘隐藏监听
    @objc func keyboardHidden(note: Notification){

    }

    //取消键盘监听
    deinit {
        NotificationCenter.default.removeObserver(self)
    }
    

如果要监听键盘完全弹起或隐藏后进行操作,则使用

        //注意,这里使用的是UIKeyboardDidShow
        NotificationCenter.default.addObserver(self, selector: #selector(self.keyboardShow(note:)), name: NSNotification.Name.UIKeyboardDidShow, object: nil)

        //注意,这里使用的是UIKeyboardDidHide
        NotificationCenter.default.addObserver(self, selector: #selector(self.keyboardHidden(note:)), name: NSNotification.Name.UIKeyboardDidHide, object: nil)
上一篇 下一篇

猜你喜欢

热点阅读