我在表格视图中有8个文本字段。我需要在纵向和横向模式下将数据输入到该文本字段中。一些文本字段是键盘的背面。我无法将数据输入到该文本字段中。如何在纵向和横向选择表格视图中的文本字段时从键盘向上移动?
我在肖像模式下完成了willShowKeyBoard通知的帮助,并且工作正常。但是,我已经应用到横向模式但是它不能正常工作。如何向上移动表格视图以在文本字段中输入数据?
(无效)keyboardWillShow:(NSNotification *)通知符 {
if ([NameField isFirstResponder] && myView.frame.origin.y >= 0) { } else if([credentialField isFirstResponder] && myView.frame.origin.y >=0) { } else if([specialityField isFirstResponder] && myView.frame.origin.y >=0) { } else if([streetField isFirstResponder] && myView.frame.origin.y >=0) { [self setViewMovedUp:YES]; } else if([cityField isFirstResponder] && myView.frame.origin.y >=0) { [self setViewMovedUp:YES]; } else if([stateField isFirstResponder] && myView.frame.origin.y >=0) { [self setViewMovedUp:YES]; } else if([zipcodeField isFirstResponder] && myView.frame.origin.y >=0) { [self setViewMovedUp:YES]; }
}
- (无效)setViewMovedUp:(BOOL)movedUp { [UIView的beginAnimations :nil context:NULL]; [UIView setAnimationDuration:0.5]; //如果你想向上滑动视图 CGRect rect = myView.frame; if(movedUp) {
rect.origin.y = rect.origin.y - kOFFSET_FOR_KEYBOARD1; rect.size.height = rect.size.height + kOFFSET_FOR_KEYBOARD1; } else { rect.origin.y = rect.origin.y + kOFFSET_FOR_KEYBOARD1; rect.size.height = rect.size.height - kOFFSET_FOR_KEYBOARD1; }
myView.frame=rect;
[UIView commitAnimations];
}