36 votes

Problème avec UIActionSheet

Lorsque je lance mon application et que je clique sur le bouton de la feuille d'actions, ceci apparaît :

La présentation de la feuille d'action est coupée par sa vue supérieure. Certains contrôles peuvent ne pas répondre aux touchers. Sur iPhone, essayez -[UIActionSheet showFromTabBar :] ou -[UIActionSheet showFromToolbar :] au lieu de -[UIActionSheet showInView :].

Comment puis-je réparer ?

61voto

VSN Points 1570

Essayez ceci, ça a parfaitement fonctionné pour moi :

[actionSheet showInView:[UIApplication sharedApplication].keyWindow];

28voto

Fred Points 2413

Vous pouvez essayer [MyActionSheet showInView:super.view]; ou si vous avez une UITabBar ou une UIToolbar, alors, comme il le suggère, vous pouvez utiliser [MyActionSheet showFromTabBar:self.tabBarController.tabBar]; o [MyActionSheet showFromToolBar:self.toolbar];

12voto

conecon Points 384

Il faut se résoudre à utiliser [actionSheet showInView:self.parentViewController.view]; au lieu de self.view si vous utilisez UINavigationViewController parce que ce contrôleur a une barre de navigation supérieure par défaut.

5voto

LeverkusenFan Points 168
    [sheet showInView:[UIApplication sharedApplication].keyWindow];
    sheet.frame = CGRectMake(0, [UIScreen mainScreen].bounds.size.height-sheet.frame.size.height, [UIScreen mainScreen].bounds.size.width, sheet.frame.size.height);

Cela devrait résoudre le problème.

1voto

Raptor Points 16051

J'ai résolu mon cas presque identique en.. :

YourAppDelegate *delegate = [[UIApplication sharedApplication] delegate];
[actionSheet showFromTabBar:delegate.tabBarController.tabBar];

supposez que vous utilisez le modèle xCode de TabBarController pour commencer.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X