IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Objective-C Discussion :

Une boîte de dialogue modale avec un contrôle UIActionSheet


Sujet :

Objective-C

  1. #1
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2013
    Messages
    144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2013
    Messages : 144
    Points : 83
    Points
    83
    Par défaut Une boîte de dialogue modale avec un contrôle UIActionSheet
    Je cherche à afficher une boite de dialogue. Mon mainStoryboard est deja rempli.


    Mon ViewController.h est le suivant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    #import <UIKit/UIKit.h>
    
    @interface ViewController : UIViewController
    @property (weak, nonatomic) IBOutlet UILabel *status;
    
    @end
    
    
    Mon ViewController.m est le suivant :
    
    - (void)viewDidLoad
    {
        [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.
        
        //definition de l'objet de type UIActionSheet avec initialisation
        UIActionSheet *actionSheet = [[UIActionSheet alloc] initWithTitle:@"Voulez-vous arrêter l'application ?" delegate:self cancelButtonTitle:nil destructiveButtonTitle:nil otherButtonTitles:@"Oui", @"Non",@"Je ne sais pas", nil];
        
        //definition du style de controle
        actionSheet.actionSheetStyle = UIActionSheetStyleBlackOpaque;
        
        // permets au bouton d'index 1 detre démarquer des autres
        actionSheet.destructiveButtonIndex = 1;
        
        [actionSheet showInView:self.view];
    }
    Mais au niveau de la definition de l'objet de type UIActionSheet avec initialisation, un peu plus haut, il y'a un warning et le message est :

    sending 'ViewController *cont__strong' to parameter of incompatible type 'id<UIActionSheetDelegate>'
    Une idée sur le pourquoi du warning ainsi que sur sa résolution?

  2. #2
    Membre du Club
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Mars 2012
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Architecte de système d'information
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2012
    Messages : 40
    Points : 66
    Points
    66
    Par défaut
    Bonjour,

    il faut ajouter le protocole UIActionSheetDelegate à l'interface
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    #import <UIKit/UIKit.h>
     
    @interface ViewController : UIViewController<UIActionSheetDelegate> 
    @property (weak, nonatomic) IBOutlet UILabel *status;
     
    @end
    Ensuite, ajouter la methode actionSheet à l'implémentation :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    - (void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex {
    }

    Cordialement.
    Omar MEBARKI

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Ouverture d'une boîte de dialogue avec Qt 4
    Par dourouc05 dans le forum Téléchargez
    Réponses: 0
    Dernier message: 01/11/2010, 22h37
  2. Création d'une boîte de dialogue non modale
    Par rob24 dans le forum MFC
    Réponses: 8
    Dernier message: 06/05/2008, 12h45
  3. Réponses: 2
    Dernier message: 09/10/2006, 17h21
  4. Réponses: 5
    Dernier message: 20/05/2006, 22h43

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo