获取iOS设备键盘高度

  最近做了一个自定义键盘,首先是要知道iOS设备各种键盘的高度,下面就来说一下怎么获取键盘的高度。

  主要是利用键盘弹出时的通知。

  1、首先先随便建一个工程。

  2、在工程的 -(void)viewDidload;函数中添加键盘弹出和隐藏的通知,具体代码如下:

 1       //增加监听,当键盘出现或改变时收出消息
 2       [[NSNotificationCenter defaultCenter] addObserver:self
 3                                             selector:@selector(keyboardWillShow:)
 4                                             name:UIKeyboardWillShowNotification
 5                                             object:nil];
 6
 7       //增加监听,当键退出时收出消息
 8       [[NSNotificationCenter defaultCenter] addObserver:self
 9                                             selector:@selector(keyboardWillHide:)
10                                             name:UIKeyboardWillHideNotification
11                                             object:nil];

  3、当得到通知时写2个函数,来响应通知 -(void)keyboardWillShow; -(void)keyboardWillHide;

    在这2个函数中可以得到键盘的一些属性,具体代码如下:

 1 - (void)keyboardWillShow:(NSNotification *)aNotification
 2 {
 3     //获取键盘的高度
 4     /*
 5      iphone 6:
 6      中文
 7      2014-12-31 11:16:23.643 Demo[686:41289] 键盘高度是  258
 8      2014-12-31 11:16:23.644 Demo[686:41289] 键盘宽度是  375
 9      英文
10      2014-12-31 11:55:21.417 Demo[1102:58972] 键盘高度是  216
11      2014-12-31 11:55:21.417 Demo[1102:58972] 键盘宽度是  375
12
13      iphone  6 plus:
14      英文:
15      2014-12-31 11:31:14.669 Demo[928:50593] 键盘高度是  226
16      2014-12-31 11:31:14.669 Demo[928:50593] 键盘宽度是  414
17      中文:
18      2015-01-07 09:22:49.438 Demo[622:14908] 键盘高度是  271
19      2015-01-07 09:22:49.439 Demo[622:14908] 键盘宽度是  414
20
21      iphone 5 :
22      2014-12-31 11:19:36.452 Demo[755:43233] 键盘高度是  216
23      2014-12-31 11:19:36.452 Demo[755:43233] 键盘宽度是  320
24
25      ipad Air:
26      2014-12-31 11:28:32.178 Demo[851:48085] 键盘高度是  264
27      2014-12-31 11:28:32.178 Demo[851:48085] 键盘宽度是  768
28
29      ipad2 :
30      2014-12-31 11:33:57.258 Demo[1014:53043] 键盘高度是  264
31      2014-12-31 11:33:57.258 Demo[1014:53043] 键盘宽度是  768
32      */
33     NSDictionary *userInfo = [aNotification userInfo];
34     NSValue *aValue = [userInfo objectForKey:UIKeyboardFrameEndUserInfoKey];
35     CGRect keyboardRect = [aValue CGRectValue];
36     int height = keyboardRect.size.height;
37     int width = keyboardRect.size.width;
38     NSLog(@"键盘高度是  %d",height);
39     NSLog(@"键盘宽度是  %d",width);
40 }
41
42 //当键退出时调用
43 - (void)keyboardWillHide:(NSNotification *)aNotification
44 {
45 }
时间: 2024-08-05 22:57:07

获取iOS设备键盘高度的相关文章

IOS开发—获取ios软键盘高度

- (void)viewDidLoad { [super viewDidLoad]; //增加监听,当键盘出现或改变时收出消息 <pre name="code" class="objc"><p style="margin-top: 0px; margin-bottom: 0px; font-size: 13px; font-family: Menlo; color: rgb(61, 29, 129);"><span

远程获取iOS设备的屏幕截图

一个远程获取iOS设备屏幕的例子,Client采用TCP连接iOS设备的2115端口,然后读取PNG格式的数据流. +VSRemoteScreen.h +VSRemoteScreen.m 添加到你的iOS项目中,然后在App启动时调用startScreenServer函数. +client.php client示例文件 [1].[代码] RemoteScreen 跳至 [1] [2] ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21

获取IOS 设备基本信息

原地址:http://www.cnblogs.com/U-tansuo/p/ios_basis_info.html 1.获取设备类型  (Iphone/ipad 几?) #import "sys/utsname.h" -(NSString*)getDeviceVersion{    struct utsname systemInfo;    uname(&systemInfo);    NSString *deviceString = [NSString stringWithC

获取iOS设备型号的方法总结

三种常用的办法获取iOS设备的型号: 1. [UIDevice currentDevice].model (推荐): 2. uname(struct utsname *name) ,使用此函数需要#include : 3.sysctlbyname(const char *name, void *oldp, size_t *oldlenp, void *newp, size_t newlen) ,使用此函数需要#include ,#include: 推荐使用第一种方法,为最上层的API,在项目开发

获取iOS设备唯一标识

[获取iOS设备唯一标识] 1.已禁用-[UIDevice uniqueIdentifier] 苹果总是把用户的隐私看的很重要.-[UIDevice uniqueIdentifier]在iOS5实际在iOS5的时候已经被遗弃了,但是iOS7中已经完全的禁用了它.Xcode5甚至不会允许你编译包含了指引到-[UIDevice uniqueIdentifier]的app.此外,iOS7之前的使用了-[UIDevice uniqueIdentifier] 的app如果在iOS7上运行,它不会返回设备的

获取iOS设备的型号

获取iOS设备的型号 需要#import "sys/utsname.h"     structutsname systemInfo;     uname(&systemInfo);     NSString*deviceString = [NSStringstringWithCString:systemInfo.machine encoding:NSUTF8StringEncoding];          if([deviceString isEqualToString:@&

获取IOS设备的电量信息:Battery Level

本文介绍了如何通过API获取IOS设备的电量信息. 移动设备的电量消耗一直是一个大问题,APP开发中也不可避免地需要收集APP运行时的电量消耗信息,这也是APP性能的衡量标准之一. 首先需要打开iphone设置中的电量统计. 1.通过Instruments获取 Instruments工具自带的Energy Diagnostics工具可以获取到iphone特定时段的电量消耗信息.具体步骤: 打开Developer选项中的Start Logging -> 断开iphone与PC连接 -> 一系列的

【转】:获取IOS设备的型号

[转]:http://www.oschina.net/code/snippet_2247606_39106 获取IOS设备的型号 //获得设备型号 + (NSString *)getCurrentDeviceModel:(UIViewController *)controller { int mib[2]; size_t len; char *machine; mib[0] = CTL_HW; mib[1] = HW_MACHINE; sysctl(mib, 2, NULL, &len, NUL

【转】iOS设备的UDID是什么?苹果为什么拒绝获取iOS设备UDID的应用?如何替代UDID?

本文讲诉的主要是为什么苹果2011年8月发布iOS 5后就开始拒绝App获取设备的UDID以及UDID替补方案,特别提醒开发者苹果App Store禁止访问UDID的应用上架(相关推荐:APP被苹果App Store拒绝的N个原因),下面先来了解下UDID. 一.UDID是什么? UDID的全称是Unique Device Identifier,顾名思义,它就是苹果IOS设备的唯一识别码,它由40个字符的字母和数字组成. 二.UDID有什么用? 移动网络可利用UDID来识别移动设备,如iPhon