À l'aide de UIActionSheet sur iPad
La documentation d'Apple pour la UIActionSheet est de me causer de la confusion. Tout d'abord, dans l'iPad Human Interface Guidelines, il dit :
Pour en savoir plus sur l'utilisation d'une fiche action dans votre code, voir “Utilisation de Popovers pour Afficher le Contenu” de l'iPad Guide de Programmation.
Mais ensuite, dans la section "Utilisation de Popovers pour Afficher le Contenu de la section", il ne parle pas de Fiches d'Action à tous! Suis-je manqué quelque chose?
Ma principale question est: sur l'iPad, quelle est la différence entre un UIPopoverController et un UIActionSheet? Si un UIActionSheet automatiquement présente lui-même à l'intérieur d'un UIPopoverController, est-il une raison pour utiliser UIActionSheet à tous? Je vois comment son délégué et la création automatique des boutons rend pour le moins de lignes de code, mais à partir d'une convivialité POV, est-il une différence?
Aussi, l'affichage de mon actionSheet avec l'animation ne fonctionne pas du tout. Il ressemble et se comporte exactement comme un actionSheet présenté sans animation (qui est exactement le même que si j'étais juste à l'aide d'un UIPopoverController et pas de actionSheet à tous). Voici mon code:
UIActionSheet *action = [[UIActionSheet alloc] initWithTitle:@"An unsaved property already exists. You must assign a name to this property before creating a new property. Would you like to:"
delegate:self
cancelButtonTitle:nil
destructiveButtonTitle:@"Overwrite"
otherButtonTitles:@"Open unsaved property", nil];
[action showFromRect:CGRectMake(0, 0, 200, 200) inView:self.mainSplitViewController.view animated:NO];
Comment aurais-je obtenir un actionSheet qui ressemble à l'exemple d'animation actionSheet dans la documentation d'Apple (à partir de l'application cartes, vous permet d'ajouter un emplacement à un contact)?
Je peut simplement en utilisant une alerte pour cela, plutôt que d'une liste ou d'un actionSheet, mais il serait toujours utile pour comprendre cela.
Merci!
Vous devez vous connecter pour publier un commentaire.
Tout d'abord,
UIActionSheet
existait avantUIPopoverController
etUIPopoverController
n'est pas disponible sur l'iPhone, il est donc utile pour la compatibilité ascendante et applications universelles.Aussi, un
UIActionSheet
n'est pas nécessairement présentés dans une fenêtre pop-over, plus précisément, si vous le montrer à partir d'unUIBarButtonItem
ouUIToolbar
qui est déjà à l'intérieur d'une liste. Il est ensuite présenté de la même façon que sur l'iPhone en faisant glisser à partir du bas de la vue-contrôleur). Selon le HIG, vous ne devez pas présenter de multiples popovers en même temps (une fois, j'ai eu une application rejeté pour ça), donc dans le cas où une vue contrôleur peut être à l'intérieur d'une liste (comme dans un standard de fractionnement de l'application), vous pouvez utiliser des fiches d'action, si possible. Bien sûr, il ya beaucoup de cas où vous ne pouvez pas remplacer une fenêtre pop-over avec une feuille d'action, parce qu'une action page affiche une liste de boutons et d'un titre, alors qu'une liste peut afficher n'importe quelle vue-contrôleur.Je pense que le
animated
paramètre n'a d'effet que lorsqu'une fiche d'action est présenté dans le "classique" (comme sur iPhone) façon.