在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 }