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];
}