//在遇到有输入的情况下。由于现在键盘的高度是动态变化的。中文输入与英文输入时高度不同。所以输入框的位置也要做出相应的变化

#pragma mark - keyboardHight

-(void)viewWillAppear:(BOOL)animated

{

[self registerForKeyboardNotifications];

}

-(void)viewWillDisappear:(BOOL)animated

{

[[NSNotificationCenter defaultCenter] removeObserver:self];

}

- (void)registerForKeyboardNotifications

{

//使用NSNotificationCenter 鍵盤出現時

[[NSNotificationCenter defaultCenter] addObserver:self

selector:@selector(keyboardWasShown:)

name:UIKeyboardDidShowNotification object:nil];

//使用NSNotificationCenter 鍵盤隐藏時

[[NSNotificationCenter defaultCenter] addObserver:self

selector:@selector(keyboardWillBeHidden:)

name:UIKeyboardWillHideNotification object:nil];

}

//实现当键盘出现的时候计算键盘的高度大小。用于输入框显示位置

- (void)keyboardWasShown:(NSNotification*)aNotification

{

NSDictionary* info = [aNotification userInfo];

//kbSize即為鍵盤尺寸 (有width, height)

CGSize kbSize = [[info objectForKey:UIKeyboardFrameEndUserInfoKey] CGRectValue].size;//得到鍵盤的高度

NSLog(@"hight_hitht:%f",kbSize.height);

if(kbSize.height == 216)

{

keyboardhight = 0;

}

else

{

keyboardhight = 36; //252 - 216 系统键盘的两个不同高度

}

//输入框位置动画加载

[self begainMoveUpAnimation:keyboardhight];

}

//当键盘隐藏的时候

- (void)keyboardWillBeHidden:(NSNotification*)aNotification

{

//do something

}

//(TextView) 当键盘开始输入前。时行计算与动画加载

-(void)textViewDidBeginEditing:(UITextView *)textView

{

NSLog(@"gegin animation");

sendMsgTextView =textView;

resultCommunityTableview.frame = CGRectMake(0, 36, 320, 150);

//动画加载

[self begainMoveUpAnimation:0.0 ];

}

//关闭键盘(TextView) 换行时。隐藏键盘

-(BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text

{

resultCommunityTableview.frame = CGRectMake(0, 36, 320, 376);

if ([text isEqualToString:@"\n"]) {

[textView resignFirstResponder];

return NO;

}

return YES;

}

//输入结束时调用动画(把按键。背景。输入框都移下去)

-(void)textViewDidEndEditing:(UITextView *)textView

{

NSLog(@"tabtabtab");

[self endEditAnimation];

//释放

[[NSNotificationCenter defaultCenter] removeObserver:self name:UIKeyboardWillShowNotification object:nil];

[[NSNotificationCenter defaultCenter] removeObserver:self name:UIKeyboardWillHideNotification object:nil];

}

//判断当前输入法

-(void)textViewDidChangeSelection:(UITextView *)textView

{

NSLog(@"wewe:%@",[[UITextInputMode currentInputMode] primaryLanguage]);

/*

if ([[UITextInputMode currentInputMode] primaryLanguage] == @"en-US") {

NSLog(@"en-US");

}

else

{

NSLog(@"zh-hans");

}

*/

}

h5如何动态获取键盘高度_动态获取键盘高度相关推荐

  1. 微信小程序获取滚动条高度_小程序超过高度加滚动条 小程序尺寸规范

    DW里如何设置自适应屏幕高度,且内容超出时出现滚动条? 首先:打开DW并创建一个新的HTML页面.第二:为它的页面写一个div,类pingmu.第三,保存这个文件.第四:创建一个新的类样式,并为其Di ...

  2. f12获取网页文本_怎么获取网页源代码中的文件?

    展开全部 易语言如何取网页源码: 1.首先,运行"易语言"主程序,弹出"新建工程32313133353236313431303231363533e4b893e5b19e3 ...

  3. mac数字键盘错乱_苹果手机数字键盘 苹果电脑键盘打不出数字解决办法

    苹果电脑跟苹果手机一样,是电子设备中的佼佼者.但也因为其好看的外表和出色的性能受到很多人的喜爱.那么苹果电脑键盘打不出数字解决办法有什么呢?下面就让afU123小编来告诉大家吧,欢迎阅读. 进行基本设 ...

  4. mac数字键盘错乱_苹果笔记本数字键盘打不出数字怎么办_苹果笔记本按不出数字如何解决-win7之家...

    苹果笔记本是款深受用户们喜欢的电脑,独特的个性个强大的功能深受用户们喜欢,不过近日有用户在使用苹果笔记本的时候,发现数字键盘打不出数字,这让用户们很是困扰,该怎么办呢,针对这个问题,本文就告诉大家苹果 ...

  5. chrome 窗体高度_浏览器几种高度宽度

    最近在做一个类似windows鼠标右键弹出菜单的东西,用到了浏览器相关的宽度和高度的东西,于是系统的看了下.心里有了大致了解,但还是有些小问题. 我的电脑,14寸,分辨率1366*768.测试浏览器i ...

  6. 静态ip和动态ip的区别_动态IP和静态IP有哪些区别?

    代理IP的动态IP和静态IP有什么区别?现在还有许多人在问. 简单说动态IP会发生变化,像工号,到不同的公司你会得到不同的工号:而静态IP是不变的,和身份证号一样.这里神鸡IP代理来给大家详细说下. ...

  7. python动态语言双刃性_动态语言的灵活性是把双刃剑:以 Python 语言为例

    原标题:动态语言的灵活性是把双刃剑:以 Python 语言为例 本文有些零碎,总题来说,包括两个问题:(1)可变对象(最常见的是list dict)被意外修改的问题,(2)对参数(parameter) ...

  8. java 动态设置 注解值_动态修改注解(annotation)值

    项目中用到了 @JsonIgnore 注解,因为类中有个详细信息, 这个详细信息在返给前端列表时用不到,只在查看详情时才会用到.所以详情字段加上了@JsonIgnore,它的默认值是true. 所以在 ...

  9. webview键盘自适应_苹果笔记本显示器键盘专利曝光:单按键可重新配置

    12月30日消息,外媒macrumors平台报道,苹果公司近期有一份专利文件获批,文件内容展示苹果正在研究笔记本键盘上的长条显示器,并且将支持动态更改每个按键的标签内容. 苹果这份专利申请标题为:&q ...

最新文章

  1. 史上最全的MSSQL笔记
  2. 电池供电的电容麦_太阳能航空障碍灯供电机制设计
  3. docker安装与学习
  4. 集合框架(List容器)
  5. 利用iTextSharp对PDF进行签名(E-signing PDF documents with iTextSharp)--推荐
  6. Wattagio for Mac(电池管理) 免激活版
  7. MySql字符串拼接
  8. vue颜色选择器插件
  9. 单片机c语言串转并的IO实验,74LS164 串入并出实验
  10. matlab泊松分布图,将泊松分布拟合到MATLAB中的一组数据
  11. matlab对数组中的某一列进行排序
  12. ALC662 在Mac中的安装
  13. Hadoop Java对应版本号
  14. ch341a编程器写操作超时失败
  15. Google DeepMind顾问预言:五年后AI将在《星际争霸》中战胜人类
  16. iSlide(PPT插件)
  17. cobra是什么鬼?
  18. flutter如何获取连接高德地图的SHA1和PackageName
  19. 听见丨美国大型连锁创客空间TechShop破产 首汽约车获7亿元B+轮融资 百度和蔚来汽车等领投
  20. 【JavaScript】手机验证码倒计时

热门文章

  1. 点击图片传值到text 尚未解决
  2. 个人在iOS开发过程中真机调试遇到的问题及解决方法
  3. 大学生就业重心能否“二线城市化”?
  4. Spring+Velocity中模板路径的问题
  5. WinCvs里登录出现C:/cvs: no such repository解决方案
  6. java struts2 安全漏洞 devMode 简介
  7. 渗透测试中的文件传输技巧
  8. linux shell ls 获取绝对路径
  9. easyui datagrid onLoadSuccess方法 正确使用
  10. linux shell 下载并执行