2011-10-16 3 views
0

두 개의 레이블에 각각 두 개의 별도 태그가 있습니다.커스텀 UITableviewcell에서 눌려진 UILabel을 탐지하는 방법은 무엇입니까?

태그를 확인하여 어떤 레이블이 눌려 졌는지 감지하고 싶습니다.

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {} 

내부

나는 다음과 같은 코드에 의해 그 중 하나를 검색 할 수 있습니다

cell = [walltable cellForRowAtIndexPath:indexPath]; 
topLabel= (UILabel *)[cell.contentView.subviews objectAtIndex:0]; 

하지만 난 눌렀 던 일을 모른다.

사용자가 어떤 레이블을 눌렀는지 확인하는 방법이 있습니까?

답변

0

뭔가 : 라벨을 참조 :

topLabel= (UILabel *)[cell.contentView.subviews objectAtIndex:0]; 

이 작업을 수행하려면 올바른, 일반적인 방법이 아닙니다. 셀의 요소를 IBOutlet에 연결하고 거기에서 참조를 가져 오는 것이 좋습니다. UILabel의 터치 이벤트에 대한 질문에 대한 으로, 나는 이것을 달성 할 수있는 좋은 방법과 같이, 라벨에 UITapGestureRecognizer을 추가하는 것입니다 생각 :

UITapGestureRecognizer *tgr = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(firstLabelTapped)]; 
[firstLabel addGestureRecognizer:tgr]; 
[tgr release]; 

두 번째 레이블이 같은 작업을 수행합니다. TableView의보기 컨트롤러에 정보를 다시 전달하려면 위임과 함께이 작업을 수행하십시오. 행운을 빕니다!

0

한 가지 방법은, 위의 제안, 당신의 콜백의 호출 UILabel의의 태그를 평가하고, 각 레이블에 태그를 지정하는 것입니다.

당신이 사용자 정의 세포 (즉, 표준있는 UITableViewCell 대 서브 클래스있는 UITableViewCell, 당신은 추가 한 사용자 정의 컨텐츠/레이아웃)를 사용하는 경우 또 다른 방법은 단순히의 속성으로 두 레이블 각을 정의하는 것입니다 서브 클래 싱 된 셀. 레이블이 각 특성으로 지정되면 호출자와 비교하여 해당 특성을 평가하고 눌려 진 레이블을 판별 할 수 있습니다. 내가 지적하고 싶은 중요한

관련 문제