In your IBAction method add the following lines:
- (IBAction)change:(id)sender
{
UIButton *button = (UIButton *)sender;
int tagOfButton = button.tag - 1;
[button setImage:[UIImage imageNamed:[myImagesSel objectAtIndex:tagOfButton]] forState:UIControlStateNormal];
}
Add a single line to your for loop like:
for(int i = 0;i < [myImages count]; i++)
{
// other stuffs
btn.tag = i+1;
}
EDIT:
If you need to undone the previous selection when other button is clicked:
write this loop inside your IBAction method.
for(int i = 0;i < [myImages count]; i++)
{
UIButton *but = (UIButton *)[buttonArray objectAtIndex:i];
if(but != button)
{
[btn setImage:[UIImage imageNamed:[myImages objectAtIndex:i]] forState:UIControlStateNormal];
}
}
Or simply store the previous button tag to a variable. And use it to change undone the image change.