У меня есть 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];
}
Пожалуйста, помогите мне. Спасибо.
1 ответ
Попробуйте вот так: возьмите одну переменную и назначьте этой переменной ранее выбранный тег кнопки, а затем, используя это значение, вы можете изменить фон. в приведенном ниже коде index
- это переменная типа int.
UIButton *button = (UIButton *)[self.view viewWithTag:index];
button.backgroundColor=[UIColor colorWithPatternImage:[UIImage imageNamed:@"your image name"]];
Надеюсь, это поможет тебе.
Похожие вопросы
Новые вопросы
uitableview
UITableView - это класс, используемый для отображения и редактирования списков информации на iOS. В табличном представлении элементы отображаются в одном столбце. UITableView является подклассом UIScrollView, который позволяет пользователям прокручивать таблицу, хотя UITableView допускает только вертикальную прокрутку.