当有一个UITextField需要输入内容的时候,需要保证键盘不会遮挡UITextField。iOS下默认的英文键盘高度为216,当使用中文输入法的时候键盘高度会改变,这时候就需要动态的计算键盘的高度。
1.添加通知 监听键盘(注意通知的名字);
[[NSNotificationCenterdefaultCenter]addObserver:self
selector:@selector(keyboardWillShown:)
name:UIKeyboardDidShowNotification
object:nil];
2.实现需要执行的方法-(void)keyboardWasShown:(NSNotification *)notif
{
NSDictionary *userInfo = [notif userInfo];
NSValue *value = [userInfoobjectForKey:UIKeyboardFrameEndUserInfoKey];
CGRect rect = [value CGRectValue];
int height = rect.size.height; //键盘高度
//改变控件的frame
}
当切换输入法或者键盘弹出的时候都会发送通知,可以动态的获得键盘的高度。