更改按钮的图像

时间:2015-07-20 19:16:52

标签: ios uibutton

我打算制作一个声音按钮,对于按钮,我有两个图像:一个用于ENABLE,一个用于声音的DISABLE状态。

我只是为按钮设置了第一张图片@"onimage",并在SoundIsOn=YES上设置了一个布尔viewDidLoad。按钮apears。

我添加了一个操作方法来调用按钮点击。

[soundBtn addTarget:self action:@selector(switchSound) forControlEvents:UIControlEventTouchUpInside];

switchSound方法中,我检查SoundIsOnYES还是NO,我想更改按钮图像以启用和禁用声音。但按钮的图像没有变化。

以下是switchSound的代码:

if  (soundIsOn == YES) {
        [self.soundBtn setImage:[UIImage imageNamed:@"offimage"] forState:UIControlStateNormal];
        soundIsOn = NO;
    }
    if  (soundIsOn == NO) {
        [self.soundBtn setImage:[UIImage imageNamed:@"onimage"] forState:UIControlStateNormal];
        soundIsOn = YES;
    }

问题:如何在每次点击后更改按钮图像?任何帮助将不胜感激:))

1 个答案:

答案 0 :(得分:0)

- (void)viewDidLoad
{
    [super viewDidLoad];
    [self.soundBtn setImage:[UIImage imageNamed:@"offimage"] forState:UIControlStateSelected];
    [self.soundBtn setImage:[UIImage imageNamed:@"onImage"] forState:UIControlStateNormal];
}


- (IBAction)switchSound:(id)sender
{
    self.soundBtn.selected = !self.soundBtn.selected;
    soundIsOn = !soundIsOn;
}

当然,您可以在Interface Builder中更改图像(如果您正在使用它)。