web-dev-qa-db-fra.com

Création de UIActionSheet

J'aimerais créer ce genre de menu, bien sûr avec d'autres boutons de menu. Existe-t-il un contrôleur de vue par défaut le représentant ou dois-je obtenir des images et le créer moi-même?.

enter image description here

58
mbutan

Vous devez utiliser un UIActionSheet.

Vous devez d’abord ajouter UIActionSheetDelegate à votre fichier ViewController.h.

Ensuite, vous pouvez référencer une feuille d'actions avec:

  UIActionSheet *popup = [[UIActionSheet alloc] initWithTitle:@"Select Sharing option:" delegate:self cancelButtonTitle:@"Cancel" destructiveButtonTitle:nil otherButtonTitles:
                        @"Share on Facebook",
                        @"Share on Twitter",
                        @"Share via E-mail",
                        @"Save to Camera Roll",
                        @"Rate this App",
                        nil];
   popup.tag = 1;
  [popup showInView:self.view];

Ensuite, vous devez gérer chacun des appels.

- (void)actionSheet:(UIActionSheet *)popup clickedButtonAtIndex:(NSInteger)buttonIndex {

  switch (popup.tag) {
    case 1: {
        switch (buttonIndex) {
            case 0:
                [self FBShare];
                break;
            case 1:
                [self TwitterShare];
                break;
            case 2:
                [self emailContent];
                break;
            case 3:
                [self saveContent];
                break;
            case 4:
                [self rateAppYes];
                break;
            default:
                break;
        }
        break;
    }
    default:
        break;
 }
}

Ceci est obsolète pour iOS 8.x https://developer.Apple.com/documentation/uikit/uialertcontroller#//Apple_ref/occ/cl/UIAlertController

169
Apollo SOFTWARE

Jetez un coup d'œil à la documentation IActionSheet .

NSString *actionSheetTitle = @"Action Sheet Demo"; //Action Sheet Title
NSString *destructiveTitle = @"Destructive Button"; //Action Sheet Button Titles
NSString *other1 = @"Other Button 1";
NSString *other2 = @"Other Button 2";
NSString *other3 = @"Other Button 3";
NSString *cancelTitle = @"Cancel Button";
UIActionSheet *actionSheet = [[UIActionSheet alloc]
                              initWithTitle:actionSheetTitle
                              delegate:self
                              cancelButtonTitle:cancelTitle
                              destructiveButtonTitle:destructiveTitle
                              otherButtonTitles:other1, other2, other3, nil];
[actionSheet showInView:self.view];
11
Rob

Cela s'appelle une UIActionSheet: vous en créez une comme ceci:

    NSString *actionSheetTitle = @"Action Sheet Demo"; //Action Sheet Title
NSString *destructiveTitle = @"Destructive Button"; //Action Sheet Button Titles
NSString *other1 = @"Other Button 1";
NSString *other2 = @"Other Button 2";
NSString *other3 = @"Other Button 3";
NSString *cancelTitle = @"Cancel Button";
UIActionSheet *actionSheet = [[UIActionSheet alloc]
                              initWithTitle:actionSheetTitle
                              delegate:self
                              cancelButtonTitle:cancelTitle
                              destructiveButtonTitle:destructiveTitle
                              otherButtonTitles:other1, other2, other3, nil];
[actionSheet showInView:self.view];

Implémentez UISctionSheetDelegate pour répondre à l'action du bouton.

Jetez un coup d’œil à ce tutoriel pour plus d’informations: http://mobile.tutsplus.com/tutorials/iphone/uiactionsheet_uiactionsheetdelegate (le code provient de ce tutoriel)

Ce que vous recherchez s'appelle une feuille d'action. Pour en savoir plus à ce sujet, cliquez ici http://developer.Apple.com/library/ios/#DOCUMENTATION/UIKit/Reference/UIActionSheet_Class/Reference/Reference.html

3
Ben