获取键盘高度
2016-07-15 15:44
169 查看
最近做了一个自定义键盘,首先是要知道iOS设备各种键盘的高度,下面就来说一下怎么获取键盘的高度。
主要是利用键盘弹出时的通知。
1、首先先随便建一个工程。
2、在工程的 -(void)viewDidload;函数中添加键盘弹出和隐藏的通知,具体代码如下:
10
11
//增加监听,当键盘出现或改变时收出消息
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(keyboardWillShow:)
name:UIKeyboardWillShowNotification
object:nil];
//增加监听,当键退出时收出消息
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(keyboardWillHide:)
name:UIKeyboardWillHideNotification
object:nil];
3、当得到通知时写2个函数,来响应通知 -(void)keyboardWillShow; -(void)keyboardWillHide;
在这2个函数中可以得到键盘的一些属性,具体代码如下:
45 - (void)keyboardWillShow:(NSNotification *)aNotification
{
//获取键盘的高度
/*
iphone 6:
中文
2014-12-31 11:16:23.643 Demo[686:41289]
键盘高度是 258
2014-12-31 11:16:23.644 Demo[686:41289]
键盘宽度是 375
英文
2014-12-31 11:55:21.417 Demo[1102:58972]
键盘高度是 216
2014-12-31 11:55:21.417 Demo[1102:58972]
键盘宽度是 375
iphone 6 plus:
英文:
2014-12-31 11:31:14.669 Demo[928:50593]
键盘高度是 226
2014-12-31 11:31:14.669 Demo[928:50593]
键盘宽度是 414
中文:
2015-01-07 09:22:49.438 Demo[622:14908]
键盘高度是 271
2015-01-07 09:22:49.439 Demo[622:14908]
键盘宽度是 414
4000
iphone 5 :
2014-12-31 11:19:36.452 Demo[755:43233]
键盘高度是 216
2014-12-31 11:19:36.452 Demo[755:43233]
键盘宽度是 320
ipad Air:
2014-12-31 11:28:32.178 Demo[851:48085]
键盘高度是 264
2014-12-31 11:28:32.178 Demo[851:48085]
键盘宽度是 768
ipad2 :
2014-12-31 11:33:57.258 Demo[1014:53043]
键盘高度是 264
2014-12-31 11:33:57.258 Demo[1014:53043]
键盘宽度是 768
*/
NSDictionary *userInfo = [aNotification userInfo];
NSValue *aValue = [userInfo objectForKey:UIKeyboardFrameEndUserInfoKey];
CGRect keyboardRect = [aValue CGRectValue];
int height = keyboardRect.size.height;
int width = keyboardRect.size.width;
NSLog(@"键盘高度是 %d",height);
NSLog(@"键盘宽度是 %d",width);
}
//当键退出时调用
- (void)keyboardWillHide:(NSNotification *)aNotification
{
}
主要是利用键盘弹出时的通知。
1、首先先随便建一个工程。
2、在工程的 -(void)viewDidload;函数中添加键盘弹出和隐藏的通知,具体代码如下:
10
11
//增加监听,当键盘出现或改变时收出消息
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(keyboardWillShow:)
name:UIKeyboardWillShowNotification
object:nil];
//增加监听,当键退出时收出消息
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(keyboardWillHide:)
name:UIKeyboardWillHideNotification
object:nil];
3、当得到通知时写2个函数,来响应通知 -(void)keyboardWillShow; -(void)keyboardWillHide;
在这2个函数中可以得到键盘的一些属性,具体代码如下:
45 - (void)keyboardWillShow:(NSNotification *)aNotification
{
//获取键盘的高度
/*
iphone 6:
中文
2014-12-31 11:16:23.643 Demo[686:41289]
键盘高度是 258
2014-12-31 11:16:23.644 Demo[686:41289]
键盘宽度是 375
英文
2014-12-31 11:55:21.417 Demo[1102:58972]
键盘高度是 216
2014-12-31 11:55:21.417 Demo[1102:58972]
键盘宽度是 375
iphone 6 plus:
英文:
2014-12-31 11:31:14.669 Demo[928:50593]
键盘高度是 226
2014-12-31 11:31:14.669 Demo[928:50593]
键盘宽度是 414
中文:
2015-01-07 09:22:49.438 Demo[622:14908]
键盘高度是 271
2015-01-07 09:22:49.439 Demo[622:14908]
键盘宽度是 414
4000
iphone 5 :
2014-12-31 11:19:36.452 Demo[755:43233]
键盘高度是 216
2014-12-31 11:19:36.452 Demo[755:43233]
键盘宽度是 320
ipad Air:
2014-12-31 11:28:32.178 Demo[851:48085]
键盘高度是 264
2014-12-31 11:28:32.178 Demo[851:48085]
键盘宽度是 768
ipad2 :
2014-12-31 11:33:57.258 Demo[1014:53043]
键盘高度是 264
2014-12-31 11:33:57.258 Demo[1014:53043]
键盘宽度是 768
*/
NSDictionary *userInfo = [aNotification userInfo];
NSValue *aValue = [userInfo objectForKey:UIKeyboardFrameEndUserInfoKey];
CGRect keyboardRect = [aValue CGRectValue];
int height = keyboardRect.size.height;
int width = keyboardRect.size.width;
NSLog(@"键盘高度是 %d",height);
NSLog(@"键盘宽度是 %d",width);
}
//当键退出时调用
- (void)keyboardWillHide:(NSNotification *)aNotification
{
}
相关文章推荐
- 64位Linux汇编
- CodeChef补题计划
- 获取本机名及IP地址
- 修改centos系统时间为重庆时间(当前时间)
- 预编译期和执行期
- 计算机视觉基础4——对极几何(Epipolar Geometry)
- 腾讯测试工程师:你以为会打LOL就能做测试了?
- Attach Volume 操作(Part II) - 每天5分钟玩转 OpenStack(54)
- [分享]PY的Boost自动编译程序 1.1 根据环境自动编译
- 【CF689D Friends and Subsequences】二分搜索,区间查询
- html5 教程
- JSP 结构
- Scala学习笔记
- binder浅析
- JAVA BIO、NIO、AIO理解
- 文字跑马灯效果
- android studio 代码混淆如何忽略第三方jar包 The same input jar is specified twice
- 解读Unity中的CG编写Shader系列目录
- 利用虚拟机搭建可以访问的文件传输协议
- erlang--常用内建函数收录