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
UIKeyboardWillShowNotification
notificació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
keyboardWillShow
función como estas:Swift 2
Swift 3
Rápido 4
fuente
UIResponder.keyboardWillShowNotification
en el bit de nombreSwift 3.0 y Swift 4.1
1- Registrar la notificación en el
viewWillAppear
método:2- Método para ser llamado:
fuente
keyboardWillShow
parámetro sea de tipoNotification
para que sea más compatible con Swift 3.0.viewDidLoad
no es una buena idea: ¿dónde coloca laremoveObserver
llamada correspondiente para que cuando este VC ya no se muestre, deje de recibir notificaciones? Es mejor poner el registro para notificacionesviewWillAppear
y luego realizar laremoveObserver
llamadaviewWillDisappear
Swift 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