-1
votes

Utilisez le délégué de Textfield pour répondre à un changement immédiat de Textfield

Mon code SWIFT en ce moment uese Textfield Déléguer pour modifier ce qui est affiché dans une étiquette. Le problème est que l'étiquette ne change que lorsque l'utilisateur entre dans un numéro, puis le supprime. Comme vous pouvez le voir dans le GIF ci-dessous. Tout ce que je veux faire, c'est que son utilisateur entre 1 est pour Kim Kardashian apparaît sur l'étiquette. À l'heure actuelle, cela ne le fait que, mais je dois l'ener 1 puis la supprimer du champ de texte et que Kim Kardashian apparaît sur l'étiquette.

 Entrez la description de l'image ici xxx


0 commentaires

3 Réponses :


0
votes

Si vous utilisez la fonction touchesbegan () et effectuez le champ de texte .ResignFirSrestonder , vous pouvez également ajouter une fonction de mise à jour là-bas.


0 commentaires

1
votes

Vous pouvez essayer avec cela, xxx

et xxx


3 commentaires

Qu'est-ce que je mets dans TextFieldChange?


devoirChangecharactersin le contenu et le chèque de cette méthode


@Yyosmith Supprimer DoTchangecharactersin et copiez tout son code sur TEXTFIELDDIDCHANGE



2
votes

textfield.text code> donne au texte avant de modifier le texte Textfield code> =, c'est-à-dire le texte précédemment entré code> code>. Vous devez ajouter le remplacer code>. C'est le texte nouveau code> strud> saisi dans le Textfield code>.

donc, la méthode uitextfieldelegate code> méthode code> Code> Textfield (_: Doppchangecharactersin: RemplacerString) Code> doit ressembler, P>

func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool {
    // return NO to not change text
    print("While entering the characters this method gets called")
    guard let text = (textField.text as? NSString)?.replacingCharacters(in: range, with: string), let index = Int(text) else { //here....
        // display an alert about invalid text
        return true
    }
    joke(at: index )
    return true
}


0 commentaires