La hauteur d'un clavier sur différents appareils iOS est différente. Quelqu'un sait-il comment je peux obtenir la hauteur du clavier d'un appareil par programmation?
ios
swift
uikeyboard
Lachtan
la source
la source
Réponses:
Dans Swift:
Vous pouvez obtenir la hauteur du clavier en vous abonnant à la
UIKeyboardWillShowNotification
notification. (En supposant que vous vouliez savoir quelle sera la hauteur avant qu'elle ne soit affichée).Quelque chose comme ça:
Swift 2
Swift 3
Swift 4
Ensuite, vous pouvez accéder à la hauteur en
keyboardWillShow
fonction comme celle-ci:Swift 2
Swift 3
Swift 4
la source
UIResponder.keyboardWillShowNotification
dans le bit de nomSwift 3.0 et Swift 4.1
1- Enregistrez la notification dans la
viewWillAppear
méthode:2- Méthode à appeler:
la source
keyboardWillShow
paramètre soit de typeNotification
pour le rendre plus conforme à Swift 3.0.viewDidLoad
n'est pas une bonne idée: où placez-vous l'removeObserver
appel correspondant pour que lorsque ce VC ne soit plus affiché, il cesse de recevoir des notifications? Il est préférable de mettre l'enregistrement pour les notificationsviewWillAppear
, puis de mettre l'removeObserver
appelviewWillDisappear
Swift 4 et contraintes
À votre vue de table, ajoutez une contrainte inférieure par rapport à la zone de sécurité inférieure. Dans mon cas, la contrainte s'appelle tableViewBottomLayoutConstraint.
la source
Mettre à jour Swift 4.2
méthode de sélection:
extension:
Mettre à jour Swift 3.0
méthode de sélection:
extension:
Pointe
UIKeyboardDidShowNotification ou UIKeyboardWillShowNotification peut être appelé deux fois et obtenir un résultat différent, cet article explique pourquoi appelé deux fois.
Dans Swift 2.2
Swift 2.2 deprecates en utilisant des chaînes pour sélecteurs et introduit à la place nouvelle syntaxe:
#selector
.Quelque chose comme:
méthode de sélection:
extension:
la source
Version plus courte ici:
la source
Swift 4 .
Méthode la plus simple
la source
Swift 5
la source
// Étape 1: - Enregistrer NotificationCenter
// Étape 2: - Ces méthodes seront appelées automatiquement lorsque le clavier apparaît ou se cache
la source
La méthode de ZAFAR007 mise à jour pour Swift 5 dans Xcode 10
la source
Je devais faire ça. c'est un peu du piratage. pas suggéré.
mais j'ai trouvé cela très utile,
j'ai fait une extension et une structure
Extension ViewController + Struct
Utilisation:
obtenir la plus grande contrainte de fond
appeler la fonction dans viewDidLoad ()
J'espère que cette aide.
-votre clavier se fermera automatiquement lorsque l'utilisateur tapera en dehors du champ de texte et
- il poussera toute la vue vers le clavier ci-dessus lorsque le clavier apparaîtra.
-vous pouvez également utiliser licenciementKeyboard () quand vous en avez besoin
la source
J'utilise le code ci-dessous,
la source