2009-07-17 5 views
0

J'ai essayé celui-ci ce soir pendant un certain temps .... J'ai une UIActionSheet dans son propre contrôleur. J'importe le contrôleur dans la vue je voudrais qu'il soit affiché. Je n'arrive pas à comprendre comment afficher une nouvelle vue lorsque l'utilisateur appuie sur l'un des boutons (vous pouvez voir où je viens d'envoyer une alerte maintenant). Des idées?UIActionSheet Button chargement d'une nouvelle vue

- (void)helpButtonPressedView { 
    // open a dialog with two custom buttons 
    UIActionSheet *actionSheet = [[UIActionSheet alloc] initWithTitle:@"" 
                delegate:self cancelButtonTitle:@"Cancel" destructiveButtonTitle:nil 
                otherButtonTitles:@"Help", @"Credits", nil]; 
    [self parentViewController]; 
    actionSheet.actionSheetStyle = UIActionSheetStyleDefault; 
    [actionSheet showInView:self.view]; // show from our table view (pops up in the middle of the table) 
    [actionSheet release]; 
} 

- (void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex { 
    NSLog(@"Button Pressed: %d",buttonIndex); 

    int btn = buttonIndex; 

    UIAlertView *alert; 

    switch (btn) { 
     case 0: 
      // help screen 
      alert = [[UIAlertView alloc] initWithTitle:@"Button Press Notice" message:@"The Help screen will be dispayed" 
                  delegate:self cancelButtonTitle:@"OK" otherButtonTitles: nil]; 
      [alert show]; 
      [alert release]; 

//   helpViewController = [[HelpViewController alloc] init]; 
//   [self presentModalViewController:helpViewController animated:YES]; 

      break; 
     case 1: 
      // credits screen 
      alert = [[UIAlertView alloc] initWithTitle:@"Button Press Notice" message:@"The Credits screen will be dispayed" 
               delegate:self cancelButtonTitle:@"OK" otherButtonTitles: nil]; 
      [alert show]; 
      [alert release];    
      break; 
     default: 
      break; 
    } 

} 

Voici une photo de ce que je suis en train de faire ... Lorsque l'utilisateur appuie sur le bouton « Aide », selon une nouvelle vue. Lorsque l'utilisateur appuie sur le bouton "Crédits", une vue différente apparaît. J'utilise IB pour créer les vues.

alt text http://thecoolestcompany.com/UIActionSheet-view.jpg

+0

Il serait utile que vous expliquiez un peu plus ce que vous essayez de faire visuellement. –

Répondre

0

Il a été un moment que je pose cette question - et je me suis dit qu'il il y a quelque temps ... Il me manquait le contrôleur de navigation pour faire une poussée d'un contrôleur de vue. En d'autres termes, créez le contrôleur de vue, puis appuyez sur la vue à l'aide d'un contrôleur de navigation. Si quelqu'un lit ceci et a besoin d'un code d'échantillon, postez contre la question et je posterai l'exemple de code ...

0

Au lieu de l'alerte, vous pouvez créer votre point de vue et l'ajouter à la vue actuelle:

UIView *newView = [[UIView alloc] initWithFrame:CGRectMake(100,100,100,100)]; 
[self.view addSubview:newView]; 
[newView release]; 
+1

Le remplacement de l'alerte par la création d'une nouvelle vue ne fonctionne pas. –