2011-09-28 9 views
0

흰색 배경과 가운데에 그림이있는 UIButton이 있습니다. 클릭하면이 이미지를 다른 이미지로 변경해야합니다. 문제는 버튼을 클릭했을 때 그의 배경이 이미지를 변경하는 동안 밝은 회색이됩니다. 처음 클릭 할 때만 발생합니다. 나는 버튼을 클릭하고 이미지를 변경할 때 사운드를 재생하도록이 앱을 만들었습니다. 사운드 재생이 끝나면 이미지가 원본으로 돌아갑니다.UIButton은 흰색에서 회색으로 한참 동안 배경색을 변경합니다.

- (IBAction)launchDialog 
{ 
    [bottone setImage:imageClosed forState: UIControlStateNormal]; 
    if(self.player.playing==TRUE){ 
     [self.player stop]; 
    } 
    self.player.currentTime = 0; 
    [self.player play]; 
} 

그리고 사운드 재생 완료되면이 호출하는 방법입니다 :

이가있는 viewDidLoad이다는

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 
    imageOpen = [UIImage imageNamed:@"aperto.jpg"]; 
    imageClosed = [UIImage imageNamed:@"chiuso.jpg"]; 
    CGRect rect = CGRectMake(([UIScreen mainScreen].bounds.size.width - imageOpen.size.width)/2,([UIScreen mainScreen].bounds.size.height - imageOpen.size.height)/2, imageOpen.size.width, imageOpen.size.height); 
    [bottone setFrame:rect]; 
    [bottone setImage: imageOpen forState: UIControlStateNormal]; 
    ... 
} 

이 버튼을 클릭 할 때 호출하는 기능입니다

- (void)audioPlayerDidFinishPlaying:(AVAudioPlayer *)player successfully:(BOOL)flag { 
    [bottone setImage: imageOpen forState: UIControlStateNormal]; 
} 

무엇이 문제입니까? 내가 무엇을 할 수 있을지?

답변

1

버튼의 상태를 모두 설정해야합니다. //...으로 버튼을 구성한다고 표시 한 곳에서 했습니까?

사용자가 설정해야하는 네 가지 상태입니다

UIControlStateNormal    
UIControlStateHighlighted   
UIControlStateDisabled    
UIControlStateSelected  
+0

확인을, 완벽! 대단히 고마워! – JackTurky

관련 문제