2012-05-21 6 views
0

좋아, 내가 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 중단 .

답변

1

내가 주목 한 것은 viewWillAppear에 당신이 전화 버튼 언론 반면

[botaoMusic setImage:...]; 

전화 ... 그것은 뭔가 바보가 될 수 있지만, 나는 미안 잘못하고 알아낼 할수 없어

[botaoMusic setBackgroundImage:...]; 

여전히 뷰가 그거 ...

+0

들으 나타날 때로드 된대로의 상단에 이미지 뒤의 배경 이미지를 변경, 작동 가능성이 높습니다! 문제 해결됨 – user1347271

관련 문제