iPhone开发 当输入的键盘会挡住UITextField的处理事件
2012-05-15 17:39 Mr.Xer 阅读(242) 评论(0) 收藏 举报|
//添加键盘的监听事件 [[NSNotificationCenterdefaultCenter] addObserver:selfselector:@selector(keyboardWasShown:)name:UIKeyboardDidShowNotificationobject:nil];
#pragma mark 滚动scrollview 使被隐藏的textfield显示在屏幕正确的位置(软键盘的上方) - (void)keyboardWasShown:(NSNotification*)aNotification { NSDictionary* info = [aNotification userInfo]; //键盘的大小 CGSize kbSize = [[info objectForKey:UIKeyboardFrameBeginUserInfoKey] CGRectValue].size; CGRect aRect = self.view.frame; aRect.size.height -= kbSize.height; // 输入项区域被认为定高 CGPoint activeFieldRect = activeText.frame.origin; int actHeight=activeFieldRect.y; int actSelfHeight=activeText.frame.size.height; if(aRect.size.height-actHeight-actSelfHeight<0) { CGPoint scrollPoint = CGPointMake(0.0, -(aRect.size.height-actSelfHeight-actHeight)); [scView setContentOffset:scrollPoint animated:YES]; } } |
浙公网安备 33010602011771号