La altura de un teclado en diferentes dispositivos iOS es diferente. ¿Alguien sabe cómo puedo obtener la altura del teclado de un dispositivo mediante programación?
ios
swift
uikeyboard
Lachtan
fuente
fuente

Respuestas:
En Swift:
Puede obtener la altura del teclado suscribiéndose a la
UIKeyboardWillShowNotificationnotificación. (Suponiendo que quiera saber cuál será la altura antes de que se muestre).Algo como esto:
Swift 2
Swift 3
Rápido 4
Entonces puede acceder a la altura en una
keyboardWillShowfunción como estas:Swift 2
Swift 3
Rápido 4
fuente
UIResponder.keyboardWillShowNotificationen el bit de nombreSwift 3.0 y Swift 4.1
1- Registrar la notificación en el
viewWillAppearmétodo:2- Método para ser llamado:
fuente
keyboardWillShowparámetro sea de tipoNotificationpara que sea más compatible con Swift 3.0.viewDidLoadno es una buena idea: ¿dónde coloca laremoveObserverllamada correspondiente para que cuando este VC ya no se muestre, deje de recibir notificaciones? Es mejor poner el registro para notificacionesviewWillAppeary luego realizar laremoveObserverllamadaviewWillDisappearSwift 4 y restricciones
A su vista de tabla agregue una restricción inferior relativa al área segura inferior. En mi caso, la restricción se llama tableViewBottomLayoutConstraint.
fuente
Actualizar Swift 4.2
método selector:
extensión:
Actualizar Swift 3.0
método selector:
extensión:
Propina
UIKeyboardDidShowNotification o UIKeyboardWillShowNotification pueden llamar dos veces y obtener un resultado diferente, este artículo explica por qué se llamó dos veces.
En Swift 2.2
Swift 2.2 desaprueba el uso de cadenas para los selectores y en su lugar se introduce una nueva sintaxis:
#selector.Algo como:
método selector:
extensión:
fuente
Versión más corta aquí:
fuente
Rápido 4 .
Método más simple
fuente
Rápido 5
fuente
// Paso 1: - Registrar NotificationCenter
// Paso 2: - Estos métodos se llamarán automáticamente cuando el teclado aparezca o se oculte
fuente
El método de ZAFAR007 actualizado para Swift 5 en Xcode 10
fuente
Tuve que hacer esto. esto es un poco de piratería. no sugerido.
pero encontré esto muy útil
hice extensión y estructura
ViewController Extension + Struct
Uso:
obtenga la mayor restricción de fondo
llamar a la función dentro de viewDidLoad ()
Espero que esto ayude.
-su teclado ahora se cerrará automáticamente cuando el usuario toque fuera del campo de texto y
- empujará todas las vistas al teclado de arriba cuando aparezca el teclado.
-También puede usar descartarKeyboard () cuando lo necesite
fuente
Yo uso el siguiente código
fuente