TextFiled跟随键盘一起移动(类似于微信)

今天项目要求文章曾加评论功能,类似于微信朋友圈的评论,当点击评论时textfiled随着键盘一起出现,很流畅,研究了许久,终于完成了

注册通知

[XMNotificationCenter addObserver:self selector:@selector(keyboardDidShow:) name:UIKeyboardWillShowNotification object:nil];
[XMNotificationCenter addObserver:self selector:@selector(keyboardDidHidden:) name:UIKeyboardWillHideNotification object:nil];

键盘出现

- (void)keyboardDidShow:(NSNotification *)notification
{
//获取键盘高度
keyboardH = [[notification.userInfo objectForKey:UIKeyboardFrameEndUserInfoKey] CGRectValue].size.height;

// 获取键盘弹出动画时间
NSValue *animationDurationValue = [notification.userInfo objectForKey:UIKeyboardAnimationDurationUserInfoKey];
//改变TextFiled的Y
[animationDurationValue getValue:&animationDuration];
[UIView animateWithDuration:animationDuration animations:^{
    _textview.y =  H_PATH - keyboardH - 50;
}];
DEBUGLog(@"出现%f",keyboardH);
}

键盘消失

- (void)keyboardDidHidden:(NSNotification *)notification
{
DEBUGLog(@"消失");
//将TextFiled的Y至初始位置并隐藏
[UIView animateWithDuration:animationDuration animations:^{
    _textview.y =  H_PATH - 50;
    _textview.hidden = YES;
}];
}

注销通知

- (void)dealloc
 {
[XMNotificationCenter removeObserver:self];
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 2017.02.22 可以练习,每当这个时候,脑袋就犯困,我这脑袋真是神奇呀,一说让你做事情,你就犯困,你可不要太...
    Carden阅读 1,378评论 0 1
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,556评论 25 708
  • 每天三件事 1、工作交接,发布 2、和姐姐把工作的事情聊了 3、听一本书,尝试找出讲书的方法 小确幸 痛苦的是我感...
    Katrina程阅读 63评论 0 0
  • 这件小事藏在我们心里,就像子弹藏在愈合的伤口里一样。它带来的隐隐阵痛,令我有时会突然想起,我还在爱着你。 一 小学...
    万派阅读 985评论 13 14
  • 走路的时候,走着走着会想你 你,是眉宇间藏也藏不住的欣喜 跑步的时候,跑着跑着会想你 你,是缠绕于耳的清音一缕 骑...
    爱笑的鱼521阅读 722评论 4 7