我有一个UITableView
显示一些歌曲列表。每个都Cell
包含一个按钮来播放每个单元格歌曲。当我单击第一个单元格的播放按钮时,它应该播放相关的单元格歌曲。如果我单击另一个单元格的播放按钮,它应该停止当前播放的歌曲并开始播放新单元格的歌曲。
我的问题是如何使用它的tag
值更改单击按钮的背景图像。
我是这样做的
-(IBAction)PlayButtonClickinSearch:(id)sender
{
audioPlayer=[Singleton sharedManager];
UIButton *btn=(UIButton *)sender;
if ([strWicharray isEqualToString:@"copyListOfItems"]) {
strWhichSong=[copyListOfItems objectAtIndex:btn.tag];
}
else if ([strWicharray isEqualToString:@"arrSongList"])
{
strWhichSong=[arrSongList objectAtIndex:btn.tag];
}
strSongPlayingStatus=[audioPlayer searchPlay:strWhichSong :btn.tag];
if ([strSongPlayingStatus isEqualToString:@"playing"])
{
[btn setBackgroundImage:[UIImage imageNamed:@"pause.png"] forState:UIControlStateNormal];
}
else if ([strSongPlayingStatus isEqualToString:@"stop"])
{
[btn setBackgroundImage:[UIImage imageNamed:@"play.png"] forState:UIControlStateNormal];
}
}
根据此代码,当我单击另一个单元格中的另一个按钮时,我无法重置先前单击的 btn 图像。有没有办法在tag
不给出确切tag
值的情况下更改具有此特定值的按钮的背景。
像这样
-(void)play :(int)tag
{
[btn(tag) setbackgroundImage :backImage];
}
请帮助我。谢谢。