7
votes

Comment puis-je activer ou désactiver manuellement la clé de retour sur le clavier?

J'ai un uitextview qui reçoit l'entrée du clavier. La case "Clé de retour d'activation automatique" est cochée, alors lorsque le uitexview est vide La touche de retour est désactivée.

J'ai une barre d'émoticônes au-dessus du clavier pouvant ajouter des émoticônes au Uitextview aussi, mais voici le problème; Lorsque le uitextview est vide et que j'ajoute un émoticône au uitexview comme ceci: xxx

alors la clé arrière est toujours Désactivé, bien que la propriété de texte de UITEXTVIEW n'est pas vide.

J'ai essayé cela après avoir inséré une émoticône: xxx

sans résultat. On dirait que l'activation / la désactivation de la clé de retour du clavier n'est déclenchée que par la saisie de caractères via le clavier.

Toute idée Comment activer / désactiver manuellement la clé de retour?


1 commentaires

Est-ce que cela fonctionne comme prévu si vous tapez du texte normal?


3 Réponses :


2
votes

C'est un peu de hack, mais vous pouvez essayer d'insérer le texte via la carte de pâte à la place:

UIPasteboard* generalPasteboard = [UIPasteboard generalPasteboard];

// Save a copy of the system pasteboard's items
// so we can restore them later.
NSArray* items = [generalPasteboard.items copy];

// Set the contents of the system pasteboard
// to the text we wish to insert.
generalPasteboard.string = text;

// Tell this responder to paste the contents of the
// system pasteboard at the current cursor location.
[textfield paste: nil];

// Restore the system pasteboard to its original items.
generalPasteboard.items = items;

// Free the items array we copied earlier.
[items release];


0 commentaires

-1
votes

Décochez la case "Activer la touche de retour automatique"


0 commentaires

0
votes

Vous pouvez utiliser

func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool


0 commentaires