获取键盘高度
2015-08-28 11:49
351 查看
(void)registerForKeyboardNotifications
{ //使用NSNotificationCenter 键盘出现时
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillShow:) name:UIKeyboardDidShowNotification object:nil];
//使用NSNotificationCenter 键盘隐藏时
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillHide:) name:UIKeyboardWillHideNotification object:nil];
}
//当键盘出现或改变时调用
(void)keyboardWillShow:(NSNotification *)aNotification
{ //获取键盘的高度
NSDictionary *userInfo = [aNotification userInfo];
NSValue *aValue = [userInfo objectForKey:UIKeyboardFrameEndUserInfoKey];
CGRect keyboardRect = [aValue CGRectValue];
int height = keyboardRect.size.height;
NSLog(@”键盘高度%d”,height);
[UIView animateWithDuration:0.5 animations:^{
CGRect subtab = subTable.frame;
subtab.size.height-=height;
subTable.frame = subtab;
} completion:^(BOOL finished) {
NSLog(@”执行动画完毕”);
}];
}
//当键退出时调用
(void)keyboardWillHide:(NSNotification *)aNotification
{ //获取键盘的高度
NSDictionary *userInfo = [aNotification userInfo];
NSValue *aValue = [userInfo objectForKey:UIKeyboardFrameEndUserInfoKey];
CGRect keyboardRect = [aValue CGRectValue];
int height = keyboardRect.size.height;
NSLog(@”键盘高度%d”,height);
CGRect subtab = subTable.frame;
subtab.size.height+=height;
subTable.frame = subtab;
}
{ //使用NSNotificationCenter 键盘出现时
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillShow:) name:UIKeyboardDidShowNotification object:nil];
//使用NSNotificationCenter 键盘隐藏时
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillHide:) name:UIKeyboardWillHideNotification object:nil];
}
//当键盘出现或改变时调用
(void)keyboardWillShow:(NSNotification *)aNotification
{ //获取键盘的高度
NSDictionary *userInfo = [aNotification userInfo];
NSValue *aValue = [userInfo objectForKey:UIKeyboardFrameEndUserInfoKey];
CGRect keyboardRect = [aValue CGRectValue];
int height = keyboardRect.size.height;
NSLog(@”键盘高度%d”,height);
[UIView animateWithDuration:0.5 animations:^{
CGRect subtab = subTable.frame;
subtab.size.height-=height;
subTable.frame = subtab;
} completion:^(BOOL finished) {
NSLog(@”执行动画完毕”);
}];
}
//当键退出时调用
(void)keyboardWillHide:(NSNotification *)aNotification
{ //获取键盘的高度
NSDictionary *userInfo = [aNotification userInfo];
NSValue *aValue = [userInfo objectForKey:UIKeyboardFrameEndUserInfoKey];
CGRect keyboardRect = [aValue CGRectValue];
int height = keyboardRect.size.height;
NSLog(@”键盘高度%d”,height);
CGRect subtab = subTable.frame;
subtab.size.height+=height;
subTable.frame = subtab;
}
相关文章推荐
- 支持IE6以上阴影效果纯CSS
- Linux学习书籍推荐
- git常用命令
- MyBatis教程之分页和动态SQL语句基础
- [bzoj3107][CQOI2013]二进制a+b
- HDU 1301 Jungle Roads
- zzuli OJ 1000: 整数a+b
- VB与数据库总结
- bool、int、float指针变量与 “零值” 比较的if语句
- J2EE-BaseDao.java
- 转载点关于lunix的命令
- 面试进行曲之技术面试(项目经验)
- 《游戏引擎架构》读书笔记(四)
- 第一次作业
- Winform 中 treeview 多选
- C# asp.net与jquery做ajax简单进度条
- Java线程(八):锁对象Lock-同步问题更完美的处理方式
- 定时器和多线程的区别和联系
- OpenSSL(加密方式,加密算法,自签证书)
- 如何输出第二列相同的行