клавиатура скрывает текстовое поле в не работает с различной ориентацией в IPad - PullRequest
0 голосов
/ 09 января 2012

Я использую приведенный ниже код для перемещения textField вверх, когда я нажимаю на текстовое поле, чтобы клавиатура не закрывала текстовое поле. Это прекрасно работает с портретным представлением в ipad.

Но когда я поворачиваю его в PortraitUpsideDown, он не работает. Вместо того, чтобы textField двигался вверх, двигаясь вниз. Он выполняет противоположные действия в портретной ориентации. Я пробовал все способы, но он не работает. эта проблема.

Это приложение, которое я использую для iPad.

-(void) animateTextField: (UITextView *) textField up: (BOOL) up
{

    int txtPosition = (textField.frame.origin.y - 540);
    const int movementDistance = (txtPosition < 0 ? 0 : txtPosition); // tweak as needed
    const float movementDuration = 0.3f; // 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];

}


-(void)textViewDidBeginEditing:(UITextView *)textField

{

    [self animateTextField: textField up: YES];

}

-(void)textViewDidEndEditing:(UITextView *)textField

{

    [self animateTextField: textField up: NO];

}

-(BOOL)textFieldShouldReturn:(UITextView *)theTextField 

{

  [theTextField resignFirstResponder];

    return YES;

}

1 Ответ

0 голосов
/ 09 января 2012

Сначала проверьте ориентацию, а затем двигайтесь вверх / вниз с помощью

if([UIApplication sharedApplication].statusBarOrientation == UIInterfaceOrientationPortraitUpsideDown)// move down 
else //move up
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...