美文网首页
键盘上移

键盘上移

作者: 哎呦我去叫什么呢 | 来源:发表于2016-12-15 12:52 被阅读11次

-(void)defaultCenter{
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillShow:) name:UIKeyboardWillShowNotification object:nil];

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillHide:) name:UIKeyboardWillHideNotification object:nil];

}
//键盘出现text上移
-(void)keyboardWillShow:(NSNotification *)notification{

//获取键盘高度,在不同设备上,以及中英文下是不同的
CGFloat kbHeight = [[notification.userInfo objectForKey:UIKeyboardFrameEndUserInfoKey] CGRectValue].size.height;

//计算出键盘顶端到inputTextView panel底端的距离(加上自定义的缓冲距离INTERVAL_KEYBOARD)
CGFloat offset = (self.addressText.frame.origin.y+self.addressText.frame.size.height + (100 * kY)) - (self.view.frame.size.height - kbHeight);

// 取得键盘的动画时间,这样可以在视图上移的时候更连贯
double duration = [[notification.userInfo objectForKey:UIKeyboardAnimationDurationUserInfoKey] doubleValue];

//将视图上移计算好的偏移
if(offset > 0) {
    [UIView animateWithDuration:duration animations:^{
        self.view.frame = CGRectMake(0.0f, -offset, self.view.frame.size.width, self.view.frame.size.height);
    }];
}

}

///键盘消失事件

  • (void) keyboardWillHide:(NSNotification *)notify {
    // 键盘动画时间
    double duration = [[notify.userInfo objectForKey:UIKeyboardAnimationDurationUserInfoKey] doubleValue];

    //视图下沉恢复原状
    [UIView animateWithDuration:duration animations:^{
    self.view.frame = CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height);
    }];
    }

相关文章

  • 键盘上移

    -(void)defaultCenter{[[NSNotificationCenter defaultCenter...

  • 键盘上移问题

    1、输入框监听UIControlEventEditingDidBegin事件,当用户开始输入时,将整个view上移...

  • ios-键盘上移

    1,两个通知 [[NSNotificationCenter defaultCenter]addObserver:s...

  • Flutter showDialog键盘上移

    写弹窗时发现弹窗里的输入框没有使界面上移,挡住了部分界面,很难受 想要界面随键盘上移需要把弹窗Widget按如下结...

  • iOS视图跟随键盘上移

    自我mark一下。如下图所示:界面上有2个textField,当其成为第一响应者时弹出键盘且要求textField...

  • iOS UITextField输入框随键盘弹出界面上移

    //点击输入框界面跟随键盘上移 (void)textFieldDidBeginEditing:(UITextFie...

  • ubuntu常用快捷键

    ubuntu系统快捷键: 测试系统:ubuntu16.04 ubuntu中的super就是键盘上的windows键...

  • Mac中delete键的5种用法

    mac中delete键的5种用法 第一种:按 delete 键,实现 Windows 键盘上退格键的功能,也就是删...

  • 全民诗人

    只要键盘上有回车键,伟大的诗歌就不难诞生。

  • 基础篇20-函数

    pycharm快捷键:shift+ctrl+↑,行上移

网友评论

      本文标题:键盘上移

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