Следите за тем, какая кнопка была ранее выбрана, и затем вы можете поймать, когда новая кнопка нажата:
- (IBAction)segmentedControl:(id)sender {
UISegmentedControl * myControl = (UISegmentedControl *) sender;
if(myControl.selectedSegmentIndex != previouslySelectedIndex)
{
// here the user has selected a new button, which becomes the active one
previouslySelectedIndex = myControl.selectedSegmentIndex;
} else {
// the user tapped on the active, previously selected button
}
}
Конечно, для начала вам нужно инициализировать ранее выбранный индекс.
Дайте мне знать, поможет ли вам эта идея.