UIButton将背景颜色从白色变为灰色一段时间

时间:2011-09-28 17:36:19

标签: objective-c uibutton uiimage

我有一个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 个答案:

答案 0 :(得分:1)

您需要设置按钮的所有状态。您是否表示正在使用//...配置按钮?

这是您必须设置的四种状态:

UIControlStateNormal               
UIControlStateHighlighted          
UIControlStateDisabled             
UIControlStateSelected