Comment puis-je rejeter une feuille d'uction lorsque vous tapez à l'extérieur, par exemple au-dessus? Ceci est pour iPhone. Apparemment, l'iPad le fait par défaut (je peux me tromper). P>
11 Réponses :
Cela peut être utile pour vous
Utilisation: Précédent alors question p> p>
C'est bien pour le renvoyer, mais j'avais toujours besoin d'une manière de capturer lorsque l'événement «à l'extérieur» a eu lieu, je pourrais donc appeler cette fonction.
développeur.apple.com/Library/IOS / # documentation / uikit / référencé CE / ...
J'essaie avec le reconnaisseur du geste du robinet, mais je ne peux pas trouver quelle vue pour l'attacher. La vue de la feuille d'action? Son superview? La barre d'onglets est passée à 'Showfromtabbar'? sa i> superview? Aucun d'entre eux ne travaille ...
Obtenu ça marche. Merci pour la pointe sur le reconnaisseur de geste.
Je pense que vous recherchez cette méthode Vous pouvez l'utiliser sur votre objet d'action et ça marche juste Bien, mais vous ne pouvez pas enregistrer événement à l'extérieur de cette feuille, comme la partie grisonnée p> peut être si vous utilisez uitapesteurececogner code> sur votre contrôleur de vue que ce qu'il pourrait faire le tour. P> < Pré> xxx pré> p>
Encore une fois, c'est ce que j'appellerais une fois que j'ai un gestionnaire appelé chaque fois que l'utilisateur se débarrasse à l'extérieur. Mais capturer l'événement «taraudé à l'extérieur» est mon problème ici. Merci
Ne fonctionne pas non plus en ajoutant le GR à la feuille d'action ou à la vue du conteneur.
Eh bien, alors vous n'avez pas encore essayé, causez dans mon cas cela a fonctionné.
Vous ne pouvez pas faire cela en appuyant à l'extérieur car la feuille d'action couvre une vue entière de la vue noire transparente avec des boutons sous forme de feuille dans des iphones mais dans iPad, ce comportement présente par défaut. p>
Donc, pour avoir touché à l'extérieur, vous ne pouvez pas appeler des méthodes tactiles. Donc, je ne pense pas que vous puissiez faire de cette manière ainsi que lorsque Apple fournit un bouton d'annulation dans une feuille d'action, alors pourquoi ne pas utiliser ce bouton plutôt que cela. P>
Nous avons une feuille d'action personnalisée qui présente une table présentant de nombreuses options, couvrant les boutons normaux, c'est pourquoi j'essaie de le faire.
alors pourquoi pas que vous n'essayez pas de touches méthodes touchéesbegain.
OK a une solution. Ce qui suit s'applique à une sous-classe d'une feuille d'uction le gist consiste à ajouter un reconnaissant de geste à la feuille d'action et à tester tous les robinets pour voir s'ils sont au-dessus de la feuille d'action. p> p>
Je tente actuellement cette solution, mais je constate que l'UIALERTERVIEW Soaks tous les événements, de sorte que le tapoué: la méthode n'est jamais appelée par le reconnaissance de geste. Par conséquent, cette solution ne fonctionne pas du tout.
Je reçois les mêmes résultats que @stCredzerzero. Dans 8.1 Si vous utilisez un uialertController, ajoutez une UIIALERTACTYLECANCANCEL, cela vous donnera cet effet. Dans la version précédente, il n'ya aucun moyen d'ajouter cette fonctionnalité.
Cela ne répond pas à la question exactement, mais voici ce que je fais pour fermer le sélecteur lorsque vous cliquez sur l'un de ses éléments (cela empêche d'ajouter un bouton "Terminé" supplémentaire ou "Stuff à l'extérieur"):
Mettre en œuvre La méthode de déléguée code> Voir la méthode de la déléguée du picker dans laquelle vous créez un Uilabel et renvoyez-la: p> sur ces étiquettes de rangée personnalisées, ajoutez un gestionnaire d'action TAP: < / p> dans le racyclick code> Handleclick code>, renvoyer la feuille ouverte (celle qui contient la vue de sélection): p>
Utilisez Showfromrect, par exemple:
UIView *barButtonView = [barButtonItem valueForKey:@"view"]; CGRect buttonRect = barButtonView.frame; [actionSheet showFromRect:buttonRect inView:self.view animated:YES];
Dans iOS7 I Ajouter DémisswithClickedButtonindex Code> Msg in
GesureCognizershouldbegin code>, et ça marche. P>
Après avoir défini la propriété AnnulerButtonindex de UIacerSheet avec une valeur valide, vous taponnerez à l'extérieur rejetera la fiche uactionnelle. J'ai essayé dans iOS 9. Toutefois, si cet annuleButtonindex n'est pas défini sur une valeur erronée (par exemple, un index au-delà du nombre total de boutons dans la fiche uactronique), rien ne se passera lors de la prise à l'extérieur. P>
Aucun besoin de geste de robinet. Utilisez simplement une action uialertagertagertyLecanCel. P>
Utilisez
Ajoutez simplement une alerte avec style: .Cancel. Le reste du travail sera effectué automatiquement. P>
alerte.addaction (UIALERTACTION (Titre: "Annuler", Style: .Cancel, Hangler: nil)) P>
La même solution a été proposée dans les réponses ci-dessus. Si vous souhaitez améliorer une réponse existante en ajoutant un extrait de code à celui-ci, vous pouvez le faire en le modifiant. Évitez d'afficher des réponses en double.