2010-11-23 9 views
1

Je dois présenter une feuille UIAction qui montrera 10 boutons. Quand je fais ça sur iPad, l'UIActionSheet montre sur une popover qui est très longue verticalement (pas esthétiquement jolie). Est-ce possible de spécifier la taille UIActionSheet à une taille maximale?iPhone - Réglage de la taille d'une feuille UIAction

J'ai essayé

myActionSheet.frame = CGRectMake(0,0,300,300); 
myActionSheet.bounds = CGRectMake(0,0,300,300); 

et ont également essayé de mettre ces lignes à l'intérieur

- (void)willPresentActionSheet:(UIActionSheet *)actionSheet { 

sans succès.

des indices?

grâce

Répondre

2

Je pense que c'est l'un des cas où vous ne pouvez pas vraiment utiliser une classe intégrée comme le UIActionSheet pour atteindre votre objectif. Je ne pense pas qu'il soit conçu pour être utilisé dans les cas où vous avez autant de boutons que 10. Cela ne fonctionne pas très bien, comme vous l'avez découvert.

Mais supposons qu'il serait possible de changer la taille. Que devrait-il se passer quand vous changez la taille? Il y a une taille minimum pour chaque bouton pour qu'il soit tapable. Et vous avez également besoin d'espace entre les boutons pour ne pas causer d'erreur. Donc, même si vous pouviez changer la taille, cela ne pourrait pas être réduit de beaucoup. Et comme il n'est pas prévu de pouvoir changer la taille, vous devrez essayer d'accéder à tous les boutons, les redimensionner et les déplacer. On pourrait faire valoir que peut-être les boutons pourraient être placés dans des colonnes, mais puisque cela n'est pas mis en œuvre, il ne serait toujours pas utile si vous avez fait le UIActionSheet plus large.

Je vous recommande soit:

  1. Créez votre propre vue personnalisée avec les 10 boutons placés comme vous aimez.
  2. Utilisez une vue de tableau pour présenter les options. Depuis la vue de la table peut être défilée, vous pouvez obtenir la taille que vous aimez.

Si vous définissez modalInPopover à YES sur la UIViewController vous présente dans le popover l'utilisateur doit faire un choix avant qu'elle ne puisse passer à autre chose.

+0

lorsque vous ajoutez plusieurs boutons à une UIActionSheet il conserve tous les boutons sur leur taille et leur espacement et crée une liste déroulante quelque chose comme une table. Quelqu'un que j'ai décidé de changer avec une table, merci quand même. – SpaceDog

0

essayer avec `- (void) showFromRect: (CGRect) inView rect: (UIView *) vue animée: (BOOL) animé parce que, dans la documentation de pomme ils ont dit: « Sur l'iPad, cette méthode affiche la feuille d'action dans un survol dont la flèche pointe vers le rectangle spécifié de la vue.Le popover ne chevauche pas le rectangle spécifié. "

`

+0

Désolé, mais je ne peux pas saisir le sens de votre réponse à ce que j'ai demandé. Je fais déjà ceci et mon problème est la taille énorme de la popover étant déjà présentée ... – SpaceDog

+0

j'ai pensé que cette méthode vous aidera à redimensionner la vue de feuille de calcul. –

+0

non, la zone spécifie où le popover pointera, pas sa taille ... :( – SpaceDog

Questions connexes