Как изменить кнопку текущего изображения при нажатии?

#objective-c #xcode #image #button

#objective-c #xcode #изображение #кнопка

Вопрос:

В моем файле .h :

 -(IBAction)Boutton:(id)sender;
  

В моем файле .m :

 -(IBAction)Boutton:(id)sender
{ 

    UIImage *btnImage1 = [UIImage imageNamed:@"x.png"];
    [sender setImage:btnImage1 forState:UIControlStateNormal];

}
  

С помощью этого кода я могу изменить изображение моей нажатой кнопки (отправителя).

Вопрос в том, как я могу изменить изображения других кнопок (не отправителя)?

Например, если (sender.tag == 4) я хотел бы иметь что-то вроде :

 -(IBAction)Boutton:(id)sender
{ 

    UIImage *btnImage1 = [UIImage imageNamed:@"x.png"];
    [sender setImage:btnImage1 forState:UIControlStateNormal];

    UIImage *btnImage2 = [UIImage imageNamed:@"Y.png"];

    [Boutton:(1) setImage:btnImage2 forState:UIControlStateNormal];
    [Boutton:(2) setImage:btnImage2 forState:UIControlStateNormal];
    [Boutton:(3) setImage:btnImage2 forState:UIControlStateNormal];

}
  

Ответ №1:

Просто свяжите другие кнопки с выходами вашего подкласса UIViewController. Чтобы -(IBAction)Boutton:(id)sender вы могли изменить их изображение, обратившись к ним через их свойства.

Ответ №2:

Вопрос в том, как я могу изменить изображения других кнопок (не отправителя)?

Используйте параметры тега UIButton.

 UIButton *btn = (UIButton *)sender;

if(btn.tag == 1)
{
...
}
  

Ответ №3:

выберите кнопку и назначьте нужное изображение, затем на панели утилит измените конфигурацию состояния на выделенное, затем назначьте изображение при нажатии

смотрите снимок экрана ниже

снимок экрана