iOS的键盘由于类型多样,机型也多样,不同机型的同类键盘高度也不一样。如果我们要根据键盘高度来放置一些控件,那么动态获取键盘的高度就变得很有必要,比如像QQ一样,在键盘上放一个输入框,或放一个收键盘的按钮之类。下面直接上方法
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view.
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWasShown:) name:UIKeyboardWillShowNotification object:nil];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWasHidden:) name:UIKeyboardWillHideNotification object:nil];
}
//每次键盘将要出现时都会调用这个方法
- (void) keyboardWasShown:(NSNotification *) notification
{
NSDictionary *info = [notification userInfo];
NSValue *value = [info objectForKey:UIKeyboardFrameBeginUserInfoKey];
CGSize keyboardSize = [value CGRectValue].size;
//键盘高度
NSLog(@"keyBoard:%f", keyboardSize.height);
在这里可以将需要出现的输入框之类用动画的升起来,键盘出现的时间好像是0.25秒
}
//每次键盘将要消失时都会调用这个方法
- (void) keyboardWasHidden:(NSNotification *) notification
{
NSDictionary *info = [notification userInfo];
NSValue *value = [info objectForKey:UIKeyboardFrameBeginUserInfoKey];
CGSize keyboardSize = [value CGRectValue].size;
NSLog(@"keyboardWasHidden keyBoard:%f", keyboardSize.height);
}