2010-02-10 15 views
29

Sto cercando di evitare un arresto anomalo dell'app qui ... Ho un pulsante che rimuoverà un segmento da un UISegmentedControl. Se viene premuto quel pulsante e l'utente ha selezionato il segmento da rimuovere, il segmento verrà rimosso e nessuna selezione verrà evidenziata. Tuttavia, quando viene premuto un altro pulsante che esegue un'azione che recupera il SelectedSegmentIndex, l'app si arresta in modo anomalo.Come impostare l'indice di segmento selezionato in UISegmentedControl? (iPhone SDK)

In breve: esiste un modo per forzare la selezione di un segmento in un UISegmentedControl?

modifica sembra che UISegmentedControl restituisca un SoggettoIndice selezionato di -1 quando nessun segmento è selezionato ... vediamo cosa posso fare da qui.

risposta

66

Usa come questo .. yourSegmentname.selectedSegmentIndex = 1; // o qualsiasi segmento che si desidera

2

Questo codice è per SWIFT 2,0

@IBOutlet weak var segmentcontroll: UISegmentedControl! 
    @IBAction func segmentneeded(sender: AnyObject) 
     { 

      if(segmentcontroll.selectedSegmentIndex==0) 
      { 
       self.view.backgroundColor=UIColor.purpleColor() 
       segmentcontroll.selectedSegmentIndex=UISegmentedControlNoSegment 
      } 
      else if(segmentcontroll.selectedSegmentIndex==1) 
      { 
        self.view.backgroundColor=UIColor.yellowColor() 
          segmentcontroll.selectedSegmentIndex=UISegmentedControlNoSegment 
      } 
      else 
      { 
       self.view.backgroundColor=UIColor.grayColor() 
          segmentcontroll.selectedSegmentIndex=UISegmentedControlNoSegment 
      } 
     } 
Problemi correlati