para emojis descargar copiar iphone keyboard

iphone - emojis - ios 12



Teclado de visualizaciĆ³n sin animaciĆ³n (7)

UIKeyboardAnimationDurationUserInfoKey en UIKeyboardAnimationDurationUserInfoKey pero simplemente no puedo encontrar en ninguna parte cómo establecerlo en un valor personalizado.


Compatible con iOS8:

Agregue el método de delegado apropiado:

- (void)textFieldDidBeginEditing:(UITextField *)textField { [UIView setAnimationsEnabled:NO]; }

o

- (void)textViewDidBeginEditing:(UITextView *)textView { [UIView setAnimationsEnabled:NO]; }

Agrega la notificación del teclado:

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(didShowKeyboard:) name:UIKeyboardDidShowNotification object:nil];

Y método:

- (void)didShowKeyboard:(NSNotification *)notification { [UIView setAnimationsEnabled:YES]; }


Es bastante simple chicos. No use UIView: SetAnimationEnabled ya que podría ser problemático. Así es como elimino la animación cuando se muestra el teclado.

- (void)viewWillAppear:(BOOL)animated { [super viewWillAppear:animated]; [txtFirstName becomeFirstResponder]; } - (void)viewWillDisappear:(BOOL)animated { [super viewWillDisappear:animated]; [txtFirstName resignFirstResponder]; }


He encontrado que la mejor solución es usar UIView.setAnimationsEnabled(_ enabled: Bool) .

Swift 3

UIView.setAnimationsEnabled(false) textField.becomeFirstResponder() // or textField.resignFirstResponder() if you want to dismiss the keyboard UIView.setAnimationsEnabled(true)


La respuesta de @Vadoff funciona perfecta. Aquí para Swift 3:

override func viewDidLoad() { super.viewDidLoad() //... // Add observer to notificationCenter so that the method didShowKeyboard(_:) is called when the keyboard did show. NotificationCenter.default.addObserver(self, selector: #selector(type(of: self).didShowKeyboard(_:)), name: NSNotification.Name.UIKeyboardDidShow, object: nil) // Make textField the first responder. textField.becomeFirstResponder() // <- Change textField to the name of your textField. } func textFieldDidBeginEditing(_ textField: UITextField) { // Disable animations. UIView.setAnimationsEnabled(false) } func didShowKeyboard(_ notification: Notification) { // Enable animations. UIView.setAnimationsEnabled(true) }


Tratar

[UIView performWithoutAnimation:^{ [textField becomeFirstResponder]; }];


Tuve que deshabilitar las animaciones en textViewShouldBeginEditing , textFieldDidBeginEditing no me funcionó (iOS 8)


UIKeyboardAnimationDurationUserInfoKey es un identificador de cadena constante para la clave del diccionario que contiene la duración de la animación, por lo que no hay manera de cambiarla fácilmente.

Una forma de hacer que el teclado aparezca sin animación es observar las notificaciones del teclado y desactivar la animación cuando está a punto de aparecer y luego volver a activarlas. Esto, por supuesto, desactiva cualquier otra animación también.

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(willShowKeyboard:) name:UIKeyboardWillShowNotification object:nil]; [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(didShowKeyboard:) name:UIKeyboardDidShowNotification object:nil]; - (void)willShowKeyboard:(NSNotification *)notification { [UIView setAnimationsEnabled:NO]; } - (void)didShowKeyboard:(NSNotification *)notification { [UIView setAnimationsEnabled:YES]; }

y luego lo mismo para las UIKeyboardWillHideNotification/UIKeyboardDidHideNotification de UIKeyboardWillHideNotification/UIKeyboardDidHideNotification .