У меня есть UITableView, отображающий список песен. Каждый Cell содержит кнопку для воспроизведения каждой сотовой песни. Когда я нажимаю кнопку воспроизведения 1-й ячейки, она должна воспроизводить соответствующую песню ячейки. Если я нажму кнопку воспроизведения другой ячейки, она должна остановить текущую воспроизводимую песню и начать воспроизведение песни новой ячейки.

Моя проблема в том, как изменить фоновое изображение нажатой кнопки, используя значение 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];
}

Пожалуйста, помогите мне. Спасибо.

0
iDia 18 Мар 2013 в 13:58

1 ответ

Лучший ответ

Попробуйте вот так: возьмите одну переменную и назначьте этой переменной ранее выбранный тег кнопки, а затем, используя это значение, вы можете изменить фон. в приведенном ниже коде index - это переменная типа int.

UIButton *button = (UIButton *)[self.view viewWithTag:index];
    button.backgroundColor=[UIColor colorWithPatternImage:[UIImage imageNamed:@"your image name"]];

Надеюсь, это поможет тебе.

0
Balu 18 Мар 2013 в 14:14