一,在需要的地方添加监听
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(onKeyboardWillShowNotification:) name:UIKeyboardWillShowNotification object:nil]; [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(onKeyboardWillHideNotification:) name:UIKeyboardWillHideNotification object:nil];
二,响应监听方法
- (void)onKeyboardWillShowNotification:(NSNotification*)notify { NSDictionary *userInfoDic = [notify userInfo]; NSLog(@"userInfoDic = %@", userInfoDic); CGFloat timerval = [[userInfoDic objectForKey:UIKeyboardAnimationDurationUserInfoKey] floatValue]; NSValue *keyboardFrameValue = [userInfoDic objectForKey:UIKeyboardFrameEndUserInfoKey]; CGRect keyboardFrame = [keyboardFrameValue CGRectValue]; [UIView animateWithDuration:timerval animations:^(void){ self.containerView.frame = CGRectMake(self.containerView.frame.origin.x, self.containerView.frame.origin.y - keyboardFrame.size.height, self.containerView.frame.size.width, self.containerView.frame.size.height); }]; }
时间: 2024-11-10 20:08:27