Logic Para mover o campo de texto acima do teclado, toque em

Agora, eu tenho um código básico para mover o campo de texto acima do teclado quando você começar a editar. No entanto, o tamanho do campo de texto varia de acordo com o dispositivo e a orientação. Então, escrevi uma maneira grosseira de fazê-lo, que não fica consistentemente logo acima do teclado, mas vai subir ainda mais quando você o gira e, portanto, não parece tão profissional quanto eu gostari

O sentido básico da minha pergunta é se existe uma lógica para obter o tamanho do teclado com base no dispositivo e na orientação e usar esse valor automaticamente e, esperançosamente, mais rápido que iss

Se essa é a melhor maneira, por favor me avise. Caso contrário, forneça informações. Aqui está o código que eu tenho. (Este é apenas o código de subida, não o código de descida, para evitar ocupar muito espaço)

- (void)textFieldDidBeginEditing:(UITextField *)textField { 

    //Get Device Type
    NSString *deviceType = [[UIDevice currentDevice] model];

    //Animate Text Field
    [UIView beginAnimations:nil context:NULL];
    [UIView setAnimationDelegate:self];
    [UIView setAnimationDuration:0.4];
    [UIView setAnimationBeginsFromCurrentState:YES];

    if ([deviceType isEqualToString:@"iPhone"]) {

        //Size For iPhone
        googleBar.frame = CGRectMake(googleBar.frame.origin.x - 62.0, (googleBar.frame.origin.y - 210.0), googleBar.frame.size.width + 120.0, googleBar.frame.size.height);

    } else if ([deviceType isEqualToString:@"iPad"]) {

        //Size for iPad
        googleBar.frame = CGRectMake(googleBar.frame.origin.x - 62.0, (googleBar.frame.origin.y - 320.0), googleBar.frame.size.width + 120.0, googleBar.frame.size.height);

    } else if ([deviceType isEqualToString:@"iPod touch"]) {

        //Size For iPod Touch
        googleBar.frame = CGRectMake(googleBar.frame.origin.x - 62.0, (googleBar.frame.origin.y - 210.0), googleBar.frame.size.width + 120.0, googleBar.frame.size.height);

    } 

    [UIView commitAnimations];

} 

questionAnswers(6)

yourAnswerToTheQuestion