- (void)viewWillAppear:(BOOL)animated { [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillShow:) name:UIKeyboardWillShowNotification object:nil]; [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillHide:) name:UIKeyboardWillHideNotification object:nil]; } - (void)viewWillDisappear:(BOOL)animated { [[NSNotificationCenter defaultCenter] removeObserver:self name:UIKeyboardWillShowNotification object:nil]; [[NSNotificationCenter defaultCenter] removeObserver:self name:UIKeyboardWillHideNotification object:nil];
-(void) keyboardWillShow:(NSNotification *)note { NSDictionary *info = [note userInfo]; CGSize kbSize = [[info objectForKey:UIKeyboardFrameBeginUserInfoKey] CGRectValue].size; CGRect bkgndRect = self.ncTableView.frame; bkgndRect.size.height += kbSize.height; self.ncTableView.contentSize = bkgndRect.size; // CGFloat tmpY=activeField.frame.origin.y-((self.view.frame.size.height-kbSize.height)-activeField.frame.size.height-8); // if(tmpY>0){ // [self.scrollView setContentOffset:CGPointMake(0.0, tmpY) animated:YES]; // } } - (void)keyboardWillHide:(NSNotification*)aNotification{ NSTimeInterval animationDuration=0.30f; [UIView beginAnimations:@"ResizeForKeyboard" context:nil]; [UIView setAnimationDuration:animationDuration]; NSDictionary *info = [aNotification userInfo]; CGSize kbSize = [[info objectForKey:UIKeyboardFrameBeginUserInfoKey] CGRectValue].size; CGRect bkgndRect = self.ncTableView.frame; bkgndRect.size.height -= kbSize.height; //NIF_DEBUG(@"kbSize x:%f %f",kbSize.height,kbSize.width); self.ncTableView.contentSize = bkgndRect.size; [UIView commitAnimations]; //[self.scrollView setContentOffset:CGPointMake(0.0, activeField.frame.origin.y - 15) animated:YES]; //CGFloat tmpY=activeField.frame.origin.y-((self.view.frame.size.height-kbSize.height)-activeField.frame.size.height-8); }