美文网首页码神之路:Object-C篇
OC textField键盘弹起事件

OC textField键盘弹起事件

作者: 一只特立独行的道哥 | 来源:发表于2016-06-07 18:05 被阅读251次

OC textField键盘弹起事件

经常用到点击textFiled时弹起键盘,然后 textField工具条也要随之上升,自己做了个简单的例子


1. 监听键盘弹起收回事件

    //监听键盘弹出事件
    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillShow:) name:UIKeyboardWillShowNotification object:nil];
    //监听键盘隐藏事件
    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillHide:) name:UIKeyboardWillHideNotification object:nil];

2. 实现对应方法

获取键盘的高度时一定要用** objectForKey:UIKeyboardFrameEndUserInfoKey**,切记

#pragma mark - 键盘即将弹出事件处理
- (void)keyboardWillShow:(NSNotification *)notification
{
    //获取键盘信息
    NSDictionary *keyBoardInfo = [notification userInfo];
    
    //获取动画时间
    CGFloat duration = [[keyBoardInfo objectForKey:UIKeyboardAnimationDurationUserInfoKey] floatValue];
    
    //获取键盘的frame信息
    NSValue *value = [keyBoardInfo objectForKey:UIKeyboardFrameEndUserInfoKey];
    CGSize keyboardSize = [value CGRectValue].size;
    
    
    [UIView animateWithDuration:duration animations:^{
        CGRect frame = _chatBar.frame;
        frame.origin.y = SCREENHEIGHT - keyboardSize.height - frame.size.height;
        _chatBar.frame = frame;
    } completion:nil];
}

#pragma mark - 键盘即将隐藏事件
- (void)keyboardWillHide:(NSNotification *)notification
{
    
    //获取键盘信息
    NSDictionary *keyBoardInfo = [notification userInfo];
    
    //获取动画时间
    CGFloat duration = [[keyBoardInfo objectForKey:UIKeyboardAnimationDurationUserInfoKey] floatValue];
    
    //获取键盘的frame信息
    
    [UIView animateWithDuration:duration animations:^{
        CGRect frame = _chatBar.frame;
        frame.origin.y = SCREENHEIGHT - _chatBar.height;
        _chatBar.frame = frame;
    } completion:nil];
}

相关文章

  • OC textField键盘弹起事件

    OC textField键盘弹起事件 经常用到点击textFiled时弹起键盘,然后 textField工具条也要...

  • jQuery事件(2)

    键盘事件 (一)、keydown()(鼠标按下)事件 & keyup()(鼠标弹起)事件 keydown事件:每次...

  • 键盘遮挡输入框的问题

    首先在textfield的代理中注册键盘显示和消失的通知事件 键盘显示的触发事件 键盘消失的触发事件

  • Swift-键盘适配

    解决键盘弹起网页自动上移问题,实现viewForZooming代理 监听键盘事件

  • 键盘事件

    键盘事件 onkeydown 按键按下事件 onkeypress 按键产生字符事件 onkeyup 按键弹起事件 ...

  • iOS开发监听键盘事件

    注册通知监听器,监听键盘弹起事件 注册通知监听器,监听键盘收起事件 键盘弹出调用该方法 键盘收起调用该方法 开始视...

  • 模拟百度搜索框之键盘弹起事件

    模拟百度搜索框之键盘弹起事件

  • ios监听键盘删除事件

    监听键盘删除按钮的事件,常规做法是使用UITextField的textField:shouldChangeChar...

  • toDoList 案例分析

    1.8.1 案例:案例介绍 鼠标按下keydown ;鼠标弹起 keyup ; keyCode 记录键盘按下事件...

  • RN ScrollView 中键盘问题

    1.键盘弹起时 需点击按钮两次才能触发按钮事件 2.在ScrollView滚动时键盘未收起

网友评论

    本文标题:OC textField键盘弹起事件

    本文链接:https://www.haomeiwen.com/subject/beoddttx.html