Video: iOS Apps verstecken - So blendest du Apps auf deinem iPhone aus 2025
Alert-Ansichten unterbrechen Benutzer, während sie eine iOS-App verwenden. Sie müssen daher stoppen, was sie tun, und entweder die Warnung abweisen oder eine Aktion auswählen. Beachten Sie, dass eine Warnansicht oben auf dem Inhalt einer App angezeigt wird - schließlich dient der Warnhinweis dazu, die Aufmerksamkeit des Benutzers zu erregen.
Die Abbildung zeigt eine Warnansicht aus einer Tic-Tac-Toe-App. Wenn Sie auf Ja klicken, wird das alte Spiel gelöscht und ein neues Spiel gestartet. Wenn Sie auf Nein klicken, wird das Spiel beendet.
Wie bei den meisten iOS-Ansichten verwenden Sie die Delegierung, um eine Warnung zu implementieren. Die Spezifikation des Delegaten erfolgt jedoch programmgesteuert - also nicht über den Interface-Builder wie bei Schaltflächen. Der folgende Code veranschaulicht dies (aus der GameView-Klasse entnommen; in TTTGameView implementiert. M und. H):
- (void) promptToProceed: (TTTGameSessionViewController *) GameViewController {UIAlertView * alert = [[UIAlertView alloc] init]; [alert setTitle: @ "Spiel vorbei!"]; [alert setMessage: @ "Ein anderes Spiel spielen?"]; [alert addButtonWithTitle: @ "Ja"]; [alert addButtonWithTitle: @ "Nein"]; [alert setDelegate: GameViewController]; [alert show];}
Nachdem der Alert in der typischen Objective-C-Methode (mit alloc gefolgt von init) instanziiert wurde, werden die Titel- und Nachrichteneigenschaften festgelegt und die Schaltflächen Yes und No werden als Unteransichten zur Alert-Ansicht hinzugefügt. mit der Methode addButtonWithTitle. Kurz bevor der Alert angezeigt wird (mit der show-Methode), wird der Game Session-View-Controller mit der setDelegate-Methode als Stellvertreter für den Alert festgelegt.
Da der Spielsitzungsansicht-Controller als Stellvertreter für die Warnung eingestellt ist, wird eine Aktion in der Spielsitzungs-Ansicht-Controller-Klasse ausgelöst, wenn eine Schaltfläche der Warnung berührt wird.
Jeder Delegat an der Warnung muss das UIAlertViewDelegate-Protokoll implementieren und daher eine Methode namens clickedButtonAtIndex als Delegatenaktionsmethode für die Warnung. Überprüfen Sie TTTGameSessionViewController. m, und Sie sehen diese clickedButtonAtIndex-Methode, die auch im folgenden Code angezeigt wird:
- (void) alertView: (UIAlertView *) alertView clickedButtonAtIndex: (NSInteger) buttonIndex {if (buttonIndex == 0) {[self playNewGame];} else if (buttonIndex == 1) {return;}}
Die Schaltfläche Yes wurde zuerst hinzugefügt, sodass der Index 0 ist. Wie Sie sehen, wird durch Berühren dieser Schaltfläche ein neues Spiel gestartet. Die Schaltfläche "Nein" wurde als zweites hinzugefügt, sodass der Index "1" ist.