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

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

需要通过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)
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 179,622评论 25 708
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 16,185评论 4 61
  • 如果你正在忙碌地工作,如果你正在刻苦地读书,如果你坐在工作台前时刻不停歇地远看文稿打字,那么请看看这儿吧。 我...
    绿色风铃草阅读 769评论 2 0
  • 搭便车,顾名思义就是指乘坐顺路可免费的车。 心理学上有一种叫搭便车的效应,是指在利益群体内,某个成员为了本利益集团...
    明悦心理阅读 10,585评论 13 37
  • “连滚带爬”刚过南非口岸,心里和身体突然像劫后余生似的突然垮塌了,草草峡谷涵洞下露营。 口岸接的水煮壶咖啡,坐在碎...
    单车环球陈桂权阅读 2,365评论 18 10

友情链接更多精彩内容