在iPad中隐藏文本框的键盘

您好,我有一个问题,在UIScrollView隐藏UITextField键盘。

为此,我使用了苹果文档中的一些代码。

在ViewDidLoad中

 [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWasShown:) name:UIKeyboardDidShowNotification object:nil]; [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillBeHidden:) name:UIKeyboardWillHideNotification object:nil]; 

  - (void)keyboardWasShown:(NSNotification*)aNotification { int rowNumber=(selectetTxtfld.tag-1)/7; if (rowNumber>2) { NSDictionary* info = [aNotification userInfo]; CGSize kbSize = [[info objectForKey:UIKeyboardFrameBeginUserInfoKey] CGRectValue].size; CGRect bkgndRect = selectetTxtfld.superview.frame; bkgndRect.size.height += kbSize.height; [selectetTxtfld.superview setFrame:bkgndRect]; [scrlView setContentOffset:CGPointMake(0.0, selectetTxtfld.frame.origin.y-200) animated:YES]; } } 

  - (void)keyboardWillBeHidden:(NSNotification*)aNotification { UIEdgeInsets contentInsets = UIEdgeInsetsZero; scrlView.contentInset = contentInsets; scrlView.scrollIndicatorInsets = contentInsets; scrlView.contentOffset=CGPointZero; } 

现在它工作正常。 但是我在代码行听到

  [scrlView setContentOffset:CGPointMake(0.0, selectetTxtfld.frame.origin.y-200) animated:YES]; 

对于键盘的高度我使用200.如果我这样使用苹果将拒绝应用程序。 那是对的吗?

我也试过这个代码。 但是不显示scrllview的文本框和内容

  [scrlView setContentOffset:CGPointMake(0.0, selectetTxtfld.frame.origin.y-kbSize.height) animated:YES]; 

在我的应用程序,我正在使用的方向

  - (NSUInteger)supportedInterfaceOrientations { return UIInterfaceOrientationMaskLandscapeRight; } 

所以请帮助我如何使用键盘的高度。

要获得键盘尺寸:

 - (void) keyboardWasShown:(NSNotification *)nsNotification { NSDictionary *userInfo = [nsNotification userInfo]; CGSize kbSize = [[userInfo objectForKey:UIKeyboardFrameBeginUserInfoKey] CGRectValue].size; NSLog(@"Height: %f Width: %f", kbSize.height, kbSize.width); // Portrait: Height: 264.000000 Width: 768.000000 // Landscape: Height: 1024.000000 Width: 352.000000 }