Search code examples
iosuisegmentedcontrol

UISegmentedControl get previous selected index


I have a UISegmentedControl with a segmentedValueChanged method on it. I need to find out what was the selected index before this method is called . How to do this?


Solution

  • Use this function:

    @property (nonatomic, assign) NSInteger oldSegmentedIndex;
    @property (nonatomic, assign) NSInteger actualSegmentedIndex;
    .......
    
    - (void)viewDidLoad
    {
        .......
        self.oldSegmentedIndex = -1;
        self.actualSegmentedIndex = self.segmentedControl.selectedSegmentIndex;
        .......
    }
    .......
    - (IBAction)didSegmentedValueChanged:(id)sender
    {
        //Do whatever you want
        self.oldSegmentedIndex = self.actualSegmentedIndex;
        self.actualSegmentedIndex = self.segmentedControl.selectedSegmentIndex;
    }