很多应用都有分享到新浪微博的功能,它们的分享视图基本都是自定义的。其中有一个信息栏,呈现了可以输入的余下字数和其他信息,它会根据虚拟键盘高度的变化调整自己的位置。为此,我们需要获取到虚拟键盘的高度。


首先需要添加一个对键盘高度改变事件的监听。

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyBoardHeightChange:) name:UIKeyboardWillChangeFrameNotification object:nil];

其中name选择   UIKeyboardWillChangeFrameNotification,其他相似的对应键盘出现、消失等事件。


然后实现监听这个事情对应的方法

- (void)keyBoardHeightChange:(NSNotification*)notification
{
  //获取用户信息字典
    NSDictionary* info = [notification userInfo];
    //获取高度方法
    NSValue* value = [info objectForKey:@"UIKeyboardBoundsUserInfoKey"];
    CGSize keyBoardSize = [value CGRectValue].size;
    CGFloat keyBoardHeight = keyBoardSize.height;    //高度
    /*以下可以根据高度调整信息呈现栏*/
}