获取iOS设备键盘高度

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

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

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

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

//增加监听,当键盘出现或改变时收出消息
      [[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个函数中可以得到键盘的一些属性,具体代码如下:

- (void)keyboardWillShow:(NSNotification *)aNotification
{
    //获取键盘的高度

    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
{
}

 

你可能感兴趣的:(OC,iOS)