Хорошо, ребята, у меня проблема с UIButton, может быть, это просто решить. У меня есть кнопка с IBAction toggleMusic, которая меняет фоновое изображение.UIButton setBackgroundImage и viewWillAppear
-(IBAction)toggleMusic{
if (gameAppDelegate.playMusic) {
gameAppDelegate.playMusic = NO;
[menuAudioPlayer stop];
[botaoMusic setBackgroundImage:[UIImage imageNamed:@"bt_sound_off.png"] forState:UIControlStateNormal];
[SoundManager playSoundFile:@"botao3" Format:@"wav" InLoop:NO];
}
else {
gameAppDelegate.playMusic = YES;
[menuAudioPlayer play];
[botaoMusic setBackgroundImage:[UIImage imageNamed:@"bt_sound_on.png"] forState:UIControlStateNormal];
[SoundManager playSoundFile:@"botao3" Format:@"wav" InLoop:NO];
}
}
Это прекрасно работает. playmusic (bool) - это хранимая переменная, поэтому каждый раз, когда я включаю приложение, а затем, приложение уже знает, должно ли оно воспроизводить музыку или нет. это тоже работает нормально.
проблема заключается в том, что я хочу установить правильное фоновое изображение (включение/выключение музыки), как только приложение будет включено (не только при нажатии кнопки). поэтому я поставил следующий код вида будет:
-(void)viewWillAppear:(BOOL)animated{
if(gameAppDelegate.playMusic)
[botaoMusic setImage:[UIImage imageNamed:@"bt_sound_on.png"] forState:UIControlStateNormal];
else
[botaoMusic setImage:[UIImage imageNamed:@"bt_sound_off.png"] forState:UIControlStateNormal];
}
, когда я ввожу этот код, приложение успешно распознает правильное фоновое изображение, когда появится вид, но togglemusic перестает изменять фон кнопки, когда я нажмите кнопку , Это может быть что-то глупо, но я не могу понять, что I'm делаю неправильно ...
ТНХ Вот именно! задача решена – user1347271