获取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 }

 

你可能感兴趣的:(ios)