2010-02-10 5 views
29

J'essaie d'éviter un crash d'application ici ... J'ai un bouton qui va supprimer un segment d'un UISegmentedControl. Si vous appuyez sur ce bouton et que l'utilisateur a sélectionné le segment à supprimer, le segment sera supprimé et aucune sélection ne sera mise en surbrillance. Cependant, quand un autre bouton est poussé qui fait une action qui récupère le SelectedSegmentIndex, l'application se bloque. En bref: Y a-t-il un moyen de forcer la sélection d'un segment dans un UISegmentedControl?Comment définir l'index de segment sélectionné dans UISegmentedControl? (iPhone SDK)

éditer il semble que UISegmentedControl retourne un selectedSegmentIndex de -1 quand aucun segment n'est sélectionné ... voyons ce que je peux faire à partir d'ici.

Répondre

66

Utiliser comme ça .. yourSegmentname.selectedSegmentIndex = 1; // ou tout autre segment que vous voulez

2

Ce code est pour 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 
      } 
     } 
Questions connexes