Est-il possible de ne PAS rejeter un UIAlertView
La UIAlertviewDelegate protocole a plusieurs option de méthodes, y compris:
- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex;
Cela semble suggérer que toutes les clics de bouton fait rejeter l'affichage des alertes. Cependant je ne vois aucune façon de configuration de l'alerte afin de ne PAS faire disparaître automatiquement avec n'importe quel bouton de la presse.
Dois-je créer une sous-classe pour accomplir cette?
Pourquoi le UIAlertViewDelegate Protocole:
- (void)alertView:(UIAlertView *)alertView didDismissWithButtonIndex:(NSInteger)buttonIndex;
- (void)alertView:(UIAlertView *)alertView willDismissWithButtonIndex:(NSInteger)buttonIndex
ET
- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex;
Si ce n'est pas en option support ne rejette pas l'affichage des alertes à chaque clic sur le bouton?
Bref Aparté:
Je me rends compte que UIAlertView a été conçu pour. Mais mon but est de permettre à l'utilisateur de copier du texte à la pâte conseil d'administration avant l'application des sorties (ce qui se produit automatiquement lorsque l'alerte de vue est rejeté.
Vous devez vous connecter pour publier un commentaire.
Oui. Sous-classe
UIAlertView
et puis la surcharge-dismissWithClickedButtonIndex:animated:
, par exempleOfficieusement vous pouvez définir un
méthode pour le délégué qui va la faire contourner
-dismissWithClickedButtonIndex:animated:
, mais c'est sans-papiers, donc je ne sais pas si c'est approprié pour vous.dismissWithClickedButtonIndex:animated:
n'est plus appelé après la UIAlertViewDelegate rappels, donc primordiale avec un vide de la méthode de la mise en œuvre n'est plus une solution.willPresentAlertView:
,didPresentAlertView:
,alertView:willDismissWithButtonIndex:
, etalertView:didDismissWithButtonIndex:
sont pour suivre le début et la fin de UIAlertView animations.Applications qui n'ont pas besoin de suivre UIAlertView animations pouvez simplement utiliser
alertView:clickedButtonAtIndex:
. Les docs pour que la méthode de dire "le récepteur est automatiquement fermée après cette méthode est invoquée."À mon avis: Il n'y a pas de raison de conserver alertView. Même si tu veux le garder, pense à propos de "re-show", en gardant une référence, puis d'appeler [alertView show] ==> PAS BESOIN DE sous-classe RIEN. Bonne nouvelle, hein?
Sous-classement est le meilleur moyen. Créer un
bool
drapeau d'alerte doit rester ou pas.C'est la sous-classe de
UIAlertView
Et c'est de cette façon que je l'ai utilisé dans mon code
"The UIAlertView class is intended to be used as-is and does not support subclassing. The view hierarchy for this class is private and must not be modified"
dans developer.apple.com/library/ios/documentation/uikit/reference/... donc la mise en œuvre de votre façon serait aller à l'encontre de la Documentation d'Apple et le processus d'Examen auraient leur application rejeté. Cela a été en cours depuis quelques années maintenant, donc le temps de vous répondre à cela aura été une réponse incorrecte.