Est-il possible d'afficher une alerte avec une zone de texte à l'intérieur comme l'application AppStore. Il demande un mot de passe dans un tel dialogue. J'ai vu au moins quelques autres applications tierces l'utilisant. Est-ce une API privée?Affichage d'une alerte avec une zone de texte dans l'iPhone
Répondre
Oui, ce n'est pas documenté. Pour ajouter un champ de texte à UIAlertView, utilisez addTextFieldWithValue: label: method. Vous appelez avec le texte par défaut comme premier argument et le texte qui s'affiche dans un champ vide comme le second. Cela fait, vous pouvez accéder au champ en utilisant textFieldAtIndex: n - voir ci-dessous.
UIAlertView *alert = [[UIAlertView alloc] initWithTitle: @"Who are you?"
message:@"Give your full name"
delegate:self cancelButtonTitle:@"Cancel"
otherButtonTitles:@"OK", nil];
[alert addTextFieldWithValue:@""label:@"Name"];
// Customise name field
UITextField* name = [alert textFieldAtIndex:0];
name.clearButtonMode = UITextFieldViewModeWhileEditing;
name.keyboardType = UIKeyboardTypeAlphabet;
name.keyboardAppearance = UIKeyboardAppearanceAlert;
[alert show];
Le prochain extrait montre comment récupérer la valeur dans le champ Nom:
NSLog("Name is %@", [[modalView textFieldAtIndex:0] text]);
Jeff Lamarche a posté une sample code on his blog à faire exactement cela. Le formatage a semblé un peu bancal quand je l'ai essayé mais c'est probablement un bon point de départ.
Voici une façon «approuvée par Apple» de le faire à partir de Tharindu Madushana. Je l'ai de son commentaire sur cette page: http://iosdevelopertips.com/undocumented/alert-with-textfields.html
// Ask for Username and password.
UIAlertView *alertview = [[UIAlertView alloc] initWithTitle:@"Twitter Details!" message:@"\n \n \n" delegate:self cancelButtonTitle:@"Cancel" otherButtonTitles:@"OK", nil];
// Adds a username Field
UITextField *utextfield = [[UITextField alloc] initWithFrame:CGRectMake(12.0, 45.0, 260.0, 25.0)];
utextfield.placeholder = @"Username";
[utextfield setBackgroundColor:[UIColor whiteColor]];
[alertview addSubview:utextfield];
// Adds a password Field
UITextField *ptextfield = [[UITextField alloc] initWithFrame:CGRectMake(12.0, 80.0, 260.0, 25.0)];
ptextfield.placeholder = @"Password";
[ptextfield setSecureTextEntry:YES];
[ptextfield setBackgroundColor:[UIColor whiteColor]]; [alertview addSubview:ptextfield];
// Move a little to show up the keyboard
CGAffineTransform transform = CGAffineTransformMakeTranslation(0.0, 80.0);
[alertview setTransform:transform];
// Show alert on screen.
[alertview show];
[alertview release];
//...
// Don't forget to release these after getting their values
[utextfield release];
[ptextfield release];
Et enfin obtenir le texte de retour
-(void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex {
if (buttonIndex == 0)
return; //Cancel
UITextField *field = (UITextField *)[[alertView subviews] lastObject];
NSLog (@"%@", field.text);
}
Je supprimerais personnellement la transformation et ajouterais [utextfield becomeFirstResponder] une fois que vous aurez relâché la fonction alertview afin que le clavier apparaisse automatiquement. – AlBeebe
Ceci est une question très ancienne avec des réponses vraiment vieux.
Ceci est un exemple de la façon dont je reçois un UITextField dans un UIAlertView depuis ios 5:
UIAlertView *message = [[UIAlertView alloc] initWithTitle:@"New List Name" message:@"" delegate:nil cancelButtonTitle:@"Cancel" otherButtonTitles:@"Continue", nil];
message.alertViewStyle = UIAlertViewStylePlainTextInput;
self.alertTextField = [message textFieldAtIndex:0];
self.alertTextField.keyboardType = UIKeyboardTypeAlphabet;
message.delegate = self;
[message show];
[self.alertTextField becomeFirstResponder];
où alertTextField a été mis en place comme ceci: Comme d'autres personnes déjà mentionné
@property (nonatomic, strong) UITextField *alertTextField;
- 1. Couleur du texte dans une alerte Javascript
- 2. Asp.net Webform Affichage Alerte et redirection
- 3. javascript limite affichage lien de la zone de texte
- 4. Affichage HTML et autre code dans une zone de texte dans ASP.NET
- 5. Affichage du contenu d'un fichier document Word dans une zone de texte
- 6. Zone de texte avec une popup dans Silverlight
- 7. Intégrer l'image dans une zone de texte
- 8. Zone de texte avec des suggestions déroulantes
- 9. Texte de zone de texte à fractionner avec les conditions
- 10. Comment peupler une zone de texte avec jquery et linebreaks?
- 11. Nouvelle zone de texte
- 12. Windows Forms: zone de texte avec l'historique
- 13. tinyMCE - édition de code source dans une zone de texte
- 14. Problème imitant la zone de texte de la fenêtre de sortie VS avec une zone de texte WPF
- 15. DrawString sur une zone de texte
- 16. est-il possible d'avoir différentes couleurs de texte dans une zone de texte ou une zone de liste?
- 17. Affichage de texte en PHP
- 18. Affichage des paramètres de rapport dans les zones de texte
- 19. Comment afficher le HTML dans une zone de texte
- 20. Comment effacer une zone de texte onfocus?
- 21. Comment ajouter une zone de texte dynamiquement?
- 22. Imprimer uniquement une zone de texte
- 23. Sélection d'éléments dans une zone de liste et affichage dans ListView en utilisant C#, XAML
- 24. Valeur d'entrée dans une zone de texte de fenêtre enfant
- 25. Limite de mots dans une zone de texte
- 26. Obtenir la position du curseur dans une zone de texte
- 27. Cohérence des polices dans une zone de texte
- 28. Zone de texte décimal dans Windows Forms
- 29. DataBind à une zone de texte dans WPF
- 30. Zone de texte HTMl
, cela vous obtenez des coups de pied de l'App Store de nos jours. – zoul
D'accord - cela a été écrit il y a longtemps. Devrais-je supprimer la réponse? –
@JaneSales: Je ne supprimerais pas la réponse, mais j'ajouterais certainement un avertissement important et visible en haut de votre message. – FreeAsInBeer