2011-09-28 93 views
0

我有一個用白色背景和中心圖形制作的圖像的UIButton。點擊此圖片必須改變另一個。出現這個問題時,我點擊按鈕他的背景變成淺灰色,而它改變了圖像。它只發生在我第一次點擊。我讓這個應用程序播放聲音,當我點擊按鈕並更改圖像。當聲音完成播放時,圖像返回到原始狀態。UIButton將他的背景顏色從白色變爲灰色一段時間

這是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]; 
    ... 
} 

這是在點擊按鈕時調用的函數:

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

這是調用該方法時,聲音停止播放:

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

問題是什麼?我能做什麼?

回答

1

您需要設置按鈕的所有狀態。你是否在那裏表明你正在配置按鈕//...

這些都是你必須設置四種狀態:

UIControlStateNormal    
UIControlStateHighlighted   
UIControlStateDisabled    
UIControlStateSelected  
+0

好,是完美的!非常感謝你! – JackTurky

相關問題