我打算制作一个声音按钮,对于按钮,我有两个图像:一个用于ENABLE,一个用于声音的DISABLE状态。
我只是为按钮设置了第一张图片@"onimage"
,并在SoundIsOn=YES
上设置了一个布尔viewDidLoad
。按钮apears。
我添加了一个操作方法来调用按钮点击。
[soundBtn addTarget:self action:@selector(switchSound) forControlEvents:UIControlEventTouchUpInside];
在switchSound
方法中,我检查SoundIsOn
是YES
还是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;
}
问题:如何在每次点击后更改按钮图像?任何帮助将不胜感激:))
答案 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中更改图像(如果您正在使用它)。