博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
键盘遮挡输入框
阅读量:6058 次
发布时间:2019-06-20

本文共 2007 字,大约阅读时间需要 6 分钟。

hot3.png

#pragma mark - 键盘通知- (void)addNoticeForKeyboard {        //注册键盘出现的通知    [[NSNotificationCenter defaultCenter] addObserver:self                                             selector:@selector(keyboardWillShow:)                                                 name:UIKeyboardWillShowNotification object:nil];    //注册键盘消失的通知    [[NSNotificationCenter defaultCenter] addObserver:self                                             selector:@selector(keyboardWillHide:)                                                 name:UIKeyboardWillHideNotification object:nil];}#pragma mark --键盘弹出收起管理///键盘显示事件- (void) keyboardWillShow:(NSNotification *)notification {        if ([self.remarkTextView isFirstResponder]){        //获取键盘高度,在不同设备上,以及中英文下是不同的        CGFloat kbHeight = [[notification.userInfo objectForKey:UIKeyboardFrameEndUserInfoKey] CGRectValue].size.height;                //计算出键盘顶端到inputTextView panel底端的距离(加上自定义的缓冲距离INTERVAL_KEYBOARD)        CGFloat offset = (self.remarkTextView.frame.origin.y+self.remarkTextView.frame.size.height+INTERVAL_KEYBOARD) - (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 {        if ([self.remarkTextView isFirstResponder]){        // 键盘动画时间        double duration = [[notify.userInfo objectForKey:UIKeyboardAnimationDurationUserInfoKey] doubleValue];                //视图下沉恢复原状        [UIView animateWithDuration:duration animations:^{            self.view.frame = CGRectMake(0, 64, self.view.frame.size.width, self.view.frame.size.height);        }];    }}

 

转载于:https://my.oschina.net/LBBB/blog/1927401

你可能感兴趣的文章
Hadoop MapReduce如何进行WordCount自主编译运行
查看>>
这三种思维作为前端工程师应该具备
查看>>
构建更加高效的数据中心
查看>>
电商社交数据在大数据风控的应用实践
查看>>
Java深入学习系列之值传递Or引用传递?
查看>>
PaperWeekly 第十三期--最新文章解读
查看>>
石墨文档宣布获数千万元Pre-A轮融资 上线企业版
查看>>
“物联利浪”提供开源物业SaaS平台 连接业主和社区服务提供商
查看>>
骗子瞅准了摩拜“微信扫一扫”,你可能被骗走299元!
查看>>
8月2日,微软将会推出Windows 10周年更新ISO镜像
查看>>
安徽4个项目获批国家首批“互联网”智慧能源示范项目
查看>>
麦肯锡:中企跨境并购数量持续增长
查看>>
慢病管理领域,移动医疗大有可为
查看>>
关于数据中心方面的专业名词,你了解多少?
查看>>
《深入理解Android:Telephony原理剖析与最佳实践》一3.5 本章小结
查看>>
DevOps成传统行业落地Docker关键原动力
查看>>
宁夏出台新型智慧城市建设实施意见
查看>>
神威超算操作系统揭秘:十年磨一剑
查看>>
英特尔公布无人驾驶战略,后 PC 时代芯片王者之争在汽车行业打响
查看>>
大数据平台架构技术选型与场景运用
查看>>