美文网首页
如何防止输入框被弹出虚拟键盘覆盖方法

如何防止输入框被弹出虚拟键盘覆盖方法

作者: 若水V_V | 来源:发表于2015-12-02 16:44 被阅读290次

    1、添加键盘高度变化监听事件

    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyBoardHeightChange:) name:UIKeyboardWillChangeFrameNotification object:nil];
    

    其中,name参数就是设置监听状态。

    2、实现selector方法

    - (void)keyBoardHeightChange:(NSNotification*)notification
    {
      //获取用户信息字典
    NSDictionary* info = [notification userInfo];
    //获取高度方法
    NSValue* value = [info objectForKey:@"UIKeyboardBoundsUserInfoKey"];
    CGSize keyBoardSize = [value CGRectValue].size;
    CGFloat keyBoardHeight = keyBoardSize.height;    //高度
    /*以下可以根据高度调整输入框控件(一般放在一个视图里面,调整视图位置即可)的位置*/
     自己添加的代码。
    } 
    

    3、虚拟键盘消失后,想让改变位置的控件回到原来的位置,可以通过以下方法。

    //响应输入键盘消失事件
    UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(keyboardHide:)];
    [self.view addGestureRecognizer:tap];
     //实现键盘消失事件并处理控件位置
    - (void)keyboardHide:(id)sender {
    [inputComment resignFirstResponder];//输入框
    writeView.frame = CGRectMake(0, self.view2.frame.size.height - 50, DEVW, 50);//视图位置改变。
    

    }

    相关文章

      网友评论

          本文标题:如何防止输入框被弹出虚拟键盘覆盖方法

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