Я использую следующий код для перемещения экрана вверх или вниз, когда textView
показывает или скрывает клавиатуру, таким образом, я могу видеть последнее поле, когда оно сфокусировано.Nav Bar невидимый, когда отображается клавиатура
- (void)textViewDidBeginEditing:(UITextView *)textField
{
[self animateTextView: textField up: YES];
}
- (void)textViewDidEndEditing:(UITextView *)textField
{
[self animateTextView: textField up: NO];
}
- (void) animateTextView: (UITextView*) textField up: (BOOL) up
{
const int movementDistance = 130; // tweak as needed
const float movementDuration = 0.2f; // tweak as needed
int movement = (up ? -movementDistance : movementDistance);
[UIView beginAnimations: @"anim" context: nil];
[UIView setAnimationBeginsFromCurrentState: YES];
[UIView setAnimationDuration: movementDuration];
self.view.frame = CGRectOffset(self.view.frame, 0, movement);
[UIView commitAnimations];
}
Но проблема в том, что navBar
она также перемещается, когда экран движется вверх, есть способ, чтобы переместить все, кроме navBar
или держать navBar
в это положение после использования [self animateTextView: textField up: YES];
?
Почему? Почему бы вам спроектировать свое мнение так? Почему бы не использовать 'UINavigationController'? Почему вы используете 'beginAnimations:' API? Что это, iOS/iphoneos 3? –