0

I have a UISegmented control in my app. I also have a custom button. I would like this custom button to return the Segment back to index 0 but also perform index 0s method.

Here is my segmented control;

- (IBAction)segmentSwitch:(id)sender {
  UISegmentedControl *segmentedControl = (UISegmentedControl *) sender;
  NSInteger selectedSegment = segmentedControl.selectedSegmentIndex;

  if (selectedSegment == 0) {
  //perform custom action

  }
  else if(selectedSegment ==1){

  }
  else if (selectedSegment ==2){

 //show custom button


 }

}

My button is;

-(IBAction)buttonAction: (id)sender{

 //deselect index 2 of segmented control

 //go to index 0
 //perform index 0s method
}

Is there any way for my button to perform the segmentSwitch action for index 0?

DevC
  • 6,982
  • 9
  • 45
  • 80

2 Answers2

1

Simply call the segmenteSwitch method from the button's target method:

 -(IBAction)buttonAction: (id)sender{

     self.segmentedControl.selectedIndex = 0;
     [self segmentSwitch:self.segmentedControl];
 }
Istvan
  • 1,627
  • 1
  • 11
  • 17
0
- (IBAction)buttonAction:(id)sender {
    self.segmentedControl.selectedSegmentIndex = 0;
    [self.segmentedControl sendActionsForControlEvents:UIControlEventValueChanged];
}
tsr
  • 404
  • 3
  • 12