2009-05-04 5 views
1

J'ai un UISegmentControl qui a 2 segments à mon avis, le problème est quel que soit le segment que j'ai choisi, il retournera 1 dans ma propriété SelectedSegmentIndex puisque je veux rester à la première vue lorsque sélectionner le segment 0, l'événement je l'ai utilisé dans mon segmentcontrol est valueChanged, et la fonction sera appeler comme indiqué ci-dessous: - (void) segmentSelect: (id) sender {UISegmentControl problème

NSInteger select=[sender selectedSegmentIndex]; 

if(select==0){ 

    NSLog(@"this is 0"); 

} 
else{ 
    NSLog(@"this is 1"); 
    infoViewController *viewController = [[infoViewController alloc]initWithNibName:@"infoView" bundle:[NSBundle mainBundle]]; 
    [[self navigationController] pushViewController:viewController animated:YES]; 
    [viewController release]; 
} 

} quelqu'un peut-il dire ce qui va mal?

Répondre

2

essayer quelque chose comme ceci:

-(void)segmentSelect:(id)sender{ 
    UISegmentedControl* segmentedControl = sender; 

    switch ([segmentedControl selectedSegmentIndex]) { 
      case 0: 
       NSLog(@"this is 0"); 
       break; 
      case 1: 
       NSLog(@"this is 1"); 
          //push the controller 
       break; 
      default: 
       NSLog(@"this is unexpected"); 
    } 
} 
+0

j'ai essayé votre code, mais il est revenu la même chose, il importe jus weird.no quel segment i sélectionné, il sera toujours pousser le viewcontroller –

+0

peut-u ajouter à la question le code qui contient le contrôle segmenté ?, peut-être que nous cherchons au mauvais endroit. –