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];
}
助けてください。ありがとう。