Désactiver UITextField clavier?
J'ai mis un pavé numérique de mon application pour l'entrée des numéros en mode texte, mais dans le but de saisir des chiffres que je dois cliquer sur l'affichage de texte. Une fois que je le fais, le clavier est en place, que je ne veux pas.
Comment puis-je désactiver le clavier en tout? Toute aide est grandement appréciée.
Vous devez vous connecter pour publier un commentaire.
L'objet UITextField de inputView propriété est nulle par défaut, ce qui signifie que le clavier standard est affiché.
Si vous lui affectez une entrée personnalisé de vue, ou juste un mannequin afficher le clavier n'apparaît pas, mais le curseur clignotant apparaît toujours:
Si vous souhaitez masquer le clavier et le curseur clignotant puis utiliser cette approche:
UIView
peut être définie comme lainputView
. Ce sera la cause de la vue d'animer et de les animer de la même manière que le clavier standard de fait.Pour Swift 2.x, 3.x, 4.x, 5.x
fait le tour
En fonction de comment vous avez vos boutons existants de travail, ce qui pourrait les briser, mais vous pouvez prévenir le clavier de montrer réglage du textView est modifiable propriété
Si c'est un UITextField, vous pouvez définir c'est
enabled
propriété.Si c'est un UITextView, vous pouvez mettre en œuvre
-textViewShouldBeginEditing:
dans son délégué à PAS de retour, de sorte qu'il n'aura jamais de commencer le montage. Ou vous pouvez sous-classe et remplacer-canBecomeFirstResponder
pour retourner. Ou vous pouvez prendre avantage de son comportement d'édition et de mettre vos boutons numériques en vue que vous utilisez comme le texte de la vueinputView
. C'est censé causer des boutons à afficher lors de l'affichage de texte est édité. Qui peut ou peut ne pas être ce que vous voulez.J'ai le même problème quand a eu 2 textfields sur le même point de vue. Mon but était de montrer un clavier par défaut pour un champ de texte et de cacher pour la seconde et au lieu d'une liste déroulante.
méthode ne fonctionne tout simplement pas comme j'ai prévu pour 2 textfields , la seule solution que j'ai trouvé était
Ce sera totalement masquer le clavier pour une cible textField (DropDownList dans mon cas) et de montrer un par défaut lorsque l'utilisateur passe à la 2ème textfield (numéro de Compte sur ma capture d'écran)
Pour désactiver UITextField clavier:
Pour désactiver UITextView clavier:
Il est un simple hack pour elle. Placez un bouton vide
(Pas de Texte) au-dessus du clavier et un Événement d'action qui lui est affecté. Cela va arrêter le clavier à venir et vous pouvez effectuer n'importe quelle action que vous voulez dans la poignée pour le bouton cliquez sur
En C#, cela a fonctionné pour moi, je n'utilise pas la table de montage séquentiel.
Dans Xcode 8.2 vous pouvez le faire facilement en décochant l'état "activé" option.
Ou si vous voulez le faire via le code. Vous pouvez simplement créer un @IBOutlet de ce champ de texte, de lui donner un nom et ensuite utiliser ce nom de variable dans le viewDidLoad func (ou toute personnalisée si vous avez l'intention d') comme ceci (en swift 3.0.1):