Réponses:
Oui, UIAlertViewc'est probablement ce que vous cherchez. Voici un exemple:
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"No network connection"
message:@"You must be connected to the internet to use this app."
delegate:nil
cancelButtonTitle:@"OK"
otherButtonTitles:nil];
[alert show];
[alert release];
Si vous voulez faire quelque chose de plus sophistiqué, par exemple afficher une interface utilisateur personnalisée dans votre UIAlertView, vous pouvez sous UIAlertView- classer et insérer des composants d'interface utilisateur personnalisés dans la initméthode. Si vous souhaitez répondre à une pression de bouton après l' UIAlertViewapparition d' un , vous pouvez définir ce qui delegateprécède et appliquer la - (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndexméthode.
Vous pouvez également consulter le UIActionSheet.
Différentes personnes qui viennent à cette question signifient différentes choses par une boîte contextuelle. Je recommande fortement de lire la documentation des vues temporaires . Ma réponse est en grande partie un résumé de cela et d'autres documents connexes.
Les alertes affichent un titre et un message facultatif. L'utilisateur doit l'acquitter (une alerte à un bouton) ou faire un choix simple (une alerte à deux boutons) avant de continuer. Vous créez une alerte avec un UIAlertController.
Il convient de citer l'avertissement et les conseils de la documentation sur la création d'alertes inutiles.
Remarques:
UIAlertViewétait obsolète. Vous devez utiliser UIAlertControllerpour créer des alertes maintenant.Les fiches d'action donnent à l'utilisateur une liste de choix. Ils apparaissent soit en bas de l'écran, soit dans un popover en fonction de la taille et de l'orientation de l'appareil. Comme pour les alertes, a UIAlertControllerest utilisé pour créer une feuille d'action. Avant iOS 8, UIActionSheetétait utilisé, mais maintenant la documentation dit:
Important:
UIActionSheetest déconseillé dans iOS 8. (Notez qu'ilUIActionSheetDelegateest également déconseillé.) Pour créer et gérer des feuilles d'action dans iOS 8 et versions ultérieures, utilisez plutôtUIAlertControlleravec unpreferredStyledeUIAlertControllerStyleActionSheet.
Une vue modale est une vue autonome qui possède tout ce dont elle a besoin pour effectuer une tâche. Il peut ou non occuper le plein écran. Pour créer une vue modale, utilisez un UIPresentationControlleravec l'un des styles de présentation modale .
Voir également
Un Popover est une vue qui apparaît lorsqu'un utilisateur tape sur quelque chose et disparaît en le tapotant. Il a une flèche indiquant le contrôle ou l'emplacement d'où le robinet a été effectué. Le contenu peut être à peu près tout ce que vous pouvez mettre dans un View Controller. Vous faites un popover avec un UIPopoverPresentationController. (Avant iOS 8, UIPopoverControllerétait la méthode recommandée.)
Dans le passé, les popovers n'étaient disponibles que sur l'iPad, mais à partir d'iOS 8, vous pouvez également les obtenir sur un iPhone (voir ici , ici et ici ).
Voir également
Les notifications sont des sons / vibrations, des alertes / bannières ou des badges qui informent l'utilisateur de quelque chose même lorsque l'application n'est pas en cours d'exécution au premier plan.
Voir également
Sous Android, un Toast est un court message qui s'affiche à l'écran pendant une courte période, puis disparaît automatiquement sans perturber l'interaction de l'utilisateur avec l'application.
Les personnes venant d'un arrière-plan Android veulent savoir ce qu'est la version iOS d'un Toast. On peut trouver quelques exemples de ces questions ici , ici , ici et ici . La réponse est qu'il n'y a pas d'équivalent à un Toast dans iOS . Diverses solutions de contournement qui ont été présentées comprennent:
UIViewCependant, mon conseil est de s'en tenir aux options d'interface utilisateur standard qui viennent déjà avec iOS. N'essayez pas de donner à votre application une apparence et un comportement identiques à ceux de la version Android. Pensez à la façon de la reconditionner pour qu'elle ressemble à une application iOS.
Depuis la sortie d'iOS 8, UIAlertViewest désormais obsolète; UIAlertController est le remplaçant.
Voici un exemple de son apparence dans Swift:
let alert = UIAlertController(title: "Hello!", message: "Message", preferredStyle: UIAlertControllerStyle.alert)
let alertAction = UIAlertAction(title: "OK!", style: UIAlertActionStyle.default)
{
(UIAlertAction) -> Void in
}
alert.addAction(alertAction)
present(alert, animated: true)
{
() -> Void in
}
Comme vous pouvez le voir, l'API nous permet d'implémenter des rappels pour l'action et lorsque nous présentons l'alerte, ce qui est assez pratique!
Mis à jour pour Swift 4.2
let alert = UIAlertController(title: "Hello!", message: "Message", preferredStyle: UIAlertController.Style.alert)
let alertAction = UIAlertAction(title: "OK!", style: UIAlertAction.Style.default)
{
(UIAlertAction) -> Void in
}
alert.addAction(alertAction)
present(alert, animated: true)
{
() -> Void in
}
Mis à jour pour iOS 8.0
Depuis iOS 8.0, vous devrez utiliser UIAlertController comme suit:
-(void)alertMessage:(NSString*)message
{
UIAlertController* alert = [UIAlertController
alertControllerWithTitle:@"Alert"
message:message
preferredStyle:UIAlertControllerStyleAlert];
UIAlertAction* defaultAction = [UIAlertAction
actionWithTitle:@"OK" style:UIAlertActionStyleDefault
handler:^(UIAlertAction * action) {}];
[alert addAction:defaultAction];
[self presentViewController:alert animated:YES completion:nil];
}
Où self dans mon exemple est un UIViewController, qui implémente la méthode "presentViewController" pour un popup.
David
Pour Swift 3 et Swift 4:
UIAlertView étant obsolète, il existe un bon moyen d'afficher Alert sur Swift 3
let alertController = UIAlertController(title: NSLocalizedString("No network connection",comment:""), message: NSLocalizedString("connected to the internet to use this app.",comment:""), preferredStyle: .alert)
let defaultAction = UIAlertAction(title: NSLocalizedString("Ok", comment: ""), style: .default, handler: { (pAlert) in
//Do whatever you want here
})
alertController.addAction(defaultAction)
self.present(alertController, animated: true, completion: nil)
Obsolète:
Voici la version rapide inspirée de la réponse vérifiée:
Afficher AlertView:
let alert = UIAlertView(title: "No network connection",
message: "You must be connected to the internet to use this app.", delegate: nil, cancelButtonTitle: "Ok")
alert.delegate = self
alert.show()
Ajoutez le délégué à votre contrôleur de vue:
class AgendaViewController: UIViewController, UIAlertViewDelegate
Lorsque l'utilisateur clique sur le bouton, ce code sera exécuté:
func alertView(alertView: UIAlertView, clickedButtonAtIndex buttonIndex: Int) {
}
Bien que j'aie déjà écrit un aperçu de différents types de fenêtres contextuelles, la plupart des gens ont juste besoin d'une alerte.
class ViewController: UIViewController {
@IBAction func showAlertButtonTapped(_ sender: UIButton) {
// create the alert
let alert = UIAlertController(title: "My Title", message: "This is my message.", preferredStyle: UIAlertController.Style.alert)
// add an action (button)
alert.addAction(UIAlertAction(title: "OK", style: UIAlertAction.Style.default, handler: nil))
// show the alert
self.present(alert, animated: true, completion: nil)
}
}
Ma réponse plus complète est ici .
Voici la version C # dans Xamarin.iOS
var alert = new UIAlertView("Title - Hey!", "Message - Hello iOS!", null, "Ok");
alert.Show();