我有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];
}
Plz帮助我。 感谢。
答案 0 :(得分:0)
尝试这样,这里取一个变量并将之前选择的按钮标签分配给该变量,然后使用该值可以更改background.in下面的代码index
是一个int类型的变量。
UIButton *button = (UIButton *)[self.view viewWithTag:index];
button.backgroundColor=[UIColor colorWithPatternImage:[UIImage imageNamed:@"your image name"]];
我希望它可以帮助你。