开发笔记——检测键盘的弹出与消失

来源:互联网 发布:java架构师工作 编辑:程序博客网 时间:2024/05/17 05:50

iOS开发中经常遇到要检测键盘的高度并做相应的偏移动画的场景,再次仅做记录,在需要的时候直接copy即可

1.添加监听:(一般情况下只需监听键盘将要弹出和将要隐藏的方法即可)

/*     UIKeyboardWillChangeFrameNotification键盘的frame将要发生改变时发出的通知(位置和尺寸)     UIKeyboardDidChangeFrameNotification键盘的frame发生改变时发出的通知(位置和尺寸)     UIKeyboardWillShowNotification键盘将要弹出     UIKeyboardDidShowNotification键盘弹出时     UIKeyboardWillHideNotification键盘将要隐藏     UIKeyboardDidHideNotification键盘已经隐藏     */        //监听键盘将要弹出    [[NSNotificationCenter defaultCenter] addObserver:self                                             selector:@selector(keyboardWillShow:)                                                 name:UIKeyboardWillShowNotification                                               object:nil];    //增加监听,当键退出时收出消息    [[NSNotificationCenter defaultCenter] addObserver:self                                             selector:@selector(keyboardWillHide:)                                                 name:UIKeyboardWillHideNotification                                               object:nil];



2.添加监听方法:

//键盘将要弹出-(void)keyboardWillShow:(NSNotification *)sender{    //获取键盘的高度    NSDictionary *userInfo = [sender userInfo];    NSValue *aValue = [userInfo objectForKey:UIKeyboardFrameEndUserInfoKey];    CGRect keyboardRect = [aValue CGRectValue];    CGFloat height = keyboardRect.size.height;        }//键盘将要隐藏-(void)keyboardWillHide:(NSNotification *)sender{   }


3.在delloc方法中移除监听

//移除监听-(void)dealloc{    [[NSNotificationCenter defaultCenter] removeObserver:UIKeyboardWillShowNotification];    [[NSNotificationCenter defaultCenter] removeObserver:UIKeyboardWillHideNotification];}





0 0
原创粉丝点击