一:添加通知监测键盘高度变化
[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];
}