Comment ajouter des champs dans UIAlertController?
Je veux réaliser une fonction sur la modification de mot de passe,il oblige l'utilisateur à saisir son mot de passe précédent,et je le concevoir dans une boîte de dialogue d'alerte,j'ai envie de cliquer sur le bouton "Confirmer la modification" ensuite passer à l'autre point de vue, contrôleur pour le changement de mot de passe.J'ai écrit un code,mais je ne sais pas comment écrire dans l'instant suivant.
Vous devez vous connecter pour publier un commentaire.
Vous pouvez ajouter plusieurs objets textfield pour alerter le contrôleur et d'y accéder avec l'alerte du contrôleur de
textFields
propriétéSi le nouveau mot de passe est une chaîne vide, le présent de l'alerte de nouveau. Ou une autre solution serait de désactiver le bouton "Confirmer", lui permettant seulement lorsque le champ de texte a texte.
alertController
au sein de l'action du bloc conduit à retenir cycle. Vous ne devez vous référer à elle par l'intermédiaire de faibles référence:__weak typeof(alertController) weakAlert = alertController;
...UIAlertAction *...
...password = weakAlert.textFields.firstObject;
Vous obtiendrez toutes les textfields, de l'alerte contrôleur de par son
textFields
propriété en lecture seule, vous pouvez l'utiliser pour obtenir son texte.Comme
Swift 4:
Remarque: textField.le texte est facultatif, déballer avant d'utiliser
Objective-C:
Par
[[alertController textFields][0] text]
cette ligne, il faudra d'abord textfield ajouté à la alerController et obtenir son texte.[weak alertController]
pour éviter de conserver un cycle.Ici est une mise à jour de réponse rapide 4.0 qui crée le genre désiré de textfield:
Et à quoi il ressemble quand d'abord présenté:
Et tout en acceptant de texte: