눌렀을 때 노래를 재생하는 단추가있는 프로토 타입 셀이있는 동적 테이블보기가 있습니다.UITableview에서 누른 특정 단추의 이미지 변경
사용자가 단추를 눌러 노래를 재생하면 단추의 배경 이미지가 "중지"아이콘으로 변경되고 사용자가 단추를 누르면 "재생"아이콘으로 변경됩니다. 다시 한번 노래를 멈추게합니다. [self.beatPlayButton setBackgroundImage:[UIImageimageNamed:@"play.png"]forState:UIControlStateNormal];
내 문제는 내가 프로토 타입을 사용하고 있기 때문에 누르고있는 행에만 버튼을 변경하는 방법을 알아 냈하지 않은 것입니다 :
내가 사용하려고했는데이 작업을 수행하려면 세포. 나는didSelectObjectAtRow:atIndexPath:
과 같은 메서드를 찾으려고했는데, 행이 눌려 졌을 때
didSelectRowAtIndexPath:
이 실행되지만, 오타가 아닌 한이 버튼이 실행되지 않기 때문입니다. 아마 내가 꼬리표를 사용해야 할까? 나는 잘 모르겠다. 모든 포인터 크게 감사하겠습니다.
편집 : 내 코드가 didSelectRowAtIndexPath
외부입니다.
- (IBAction)playStopBeat:(UIButton*)sender event:(id)event {
NSSet *touches = [event allTouches];
UITouch *touch = [touches anyObject];
CGPoint currentTouchPosition = [touch locationInView:self.tableView];
NSIndexPath *indexPath = [self.tableView indexPathForRowAtPoint: currentTouchPosition];
if([self.audioPlayer isPlaying])
{
[self.beatPlayButton setBackgroundImage:[UIImage imageNamed:@"play.png"]forState:UIControlStateNormal];
[self.audioPlayer stop];
self.isPlaying = NO;
self.audioPlayer = nil;
}
else {
if (indexPath.row == 0) {
[self.beatPlayButton setImage:[UIImage imageNamed:@"stop.png"] forState: UIControlStateNormal];
}
else if (indexPath.row == 1){
[self.beatPlayButton setBackgroundImage:[UIImage imageNamed:@"stop.png"]forState:UIControlStateNormal];
}
else if (indexPath.row == 2){
...
//code to play song
입니까? –
몇 가지 코드를 제공 할 수 있습니까? 버튼과 연관된 액션은 무엇입니까? – sergio
더 많은 문맥을 제공하기 위해 제 질문을 업데이트했습니다. 감사. –