如何让button保持按下状态?

好的,我有一个应用程序,我几乎完成了。 我只是有一个问题,当我按下我的button,它会发出声音,button的图像更改。 然而,只有当图像被触摸或“突出显示”时图像才会变化,并且我希望button图像在声音效果的持续时间内保持改变,然后在声音效果之后,我希望它恢复到原始图像。 无论如何,我可以设置一个UIButton“设置时间”或“突出显示”选项?

我有时候感到很尴尬,因为我似乎被这些最微不足道的东西绊倒了,当我处理核心代码格外好,接近完成一个完整的应用程序在一个天时间,但这是我的第一个应用程序,我仍然是新手到XCode。 我真的很感激这个社区的帮助任何推动我前进的答案总是感激!

我进一步道歉我的问题格式我在我的iPhone上input这个我希望它不是太尴尬或缺乏细节。 如果有人需要更多的细节只是问!

你不想在突出和select的状态下reflection图像。 所以你只是把所有的状态像相同的形象

[btnClear setBackgroundImage:[UIImage imageNamed:@"blue_button.png"] forState:UIControlStateNormal]; [btnClear setBackgroundImage:[UIImage imageNamed:@"blue_button.png"] forState:UIControlStateHighlighted]; [btnClear setBackgroundImage:[UIImage imageNamed:@"blue_button.png"] forState:UIControlStateSelected]; 

现在,如果你想在声音停止时间的图像改变比作出

 [btnClear setBackgroundImage:[UIImage imageNamed:@"red_button.png"] forState:UIControlStateNormal]; [btnClear setBackgroundImage:[UIImage imageNamed:@"red_button.png"] forState:UIControlStateHighlighted]; [btnClear setBackgroundImage:[UIImage imageNamed:@"red_button.png"] forState:UIControlStateSelected]; 

再次点击button,您只需切换第一个图像。

将图像放入XIB中的button属性选定图像中并按下

 [(UIButton *)[self.view viewWithTag:buttonTag] setSelected:Yes]; 

这可能会有所帮助

 [btnClear setBackgroundImage:[UIImage imageNamed:@"blue_button.png"] forState:UIControlStateHighlighted]; 

如果不成功,则使用下面的一个状态

  UIControlStateNormal , UIControlStateHighlighted , UIControlStateDisabled , UIControlStateSelected , UIControlStateApplication , UIControlStateReserved . 

您可以使用声音播放器的某些委托方法在音效上切换背景图像。 当你完成播放声音时,改变后面的图像。

例如

 -(void) musicDidFinishPlaying { [btn setBackgroundImage:[UIImage imageNamed:@"normalImage.png"] forState:UIControlStateNormal]; } -(IBAction) buttonClicked:(id)sender { [btn setBackgroundImage:[UIImage imageNamed:@"soundImage.png"] forState:UIControlStateNormal]; }