一:添加通知监测键盘高度变化
[self keyBoardAutoSize];
二:动态改变高度
#pragma mark keyboard height auto
/*
NSNotificationCenter:键盘出现、消失时的通知
UIKeyboardWillShowNotification;
UIKeyboardDidShowNotification;
UIKeyboardWillHideNotification;
UIKeyboardDidHideNotification;
*/
- (void) keyBoardAutoSize
{
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyBoardShow:) name:UIKeyboardWillShowNotification object:nil];
}
- (void)keyBoardShow:(NSNotification *) notif
{
NSDictionary *info = [notif userInfo];
NSValue *value = [info objectForKey:UIKeyboardFrameEndUserInfoKey];
CGSize keyboardSize = [value CGRectValue].size;
NSLog(@"keyBoard:%f", keyboardSize.height); //216
if (keyboardSize.height==216) {
[UIView animateWithDuration:0.25 animations:^{
bottomInput.top = kScreenHeight - 74 - keyboardSize.height;
}];
}
//中文状态输入 252
else if (keyboardSize.height== 252 )
{
[UIView animateWithDuration:0.1 animations:^{
bottomInput.top = kScreenHeight - 74 - keyboardSize.height;
}];
}
}
三:移除通知
- (void)dealloc
{
[_hubTip release];
[[NSNotificationCenterdefaultCenter]removeObserver:selfname:UIKeyboardWillShowNotificationobject:nil];
[super dealloc];
}