2011-09-26 3 views
1

UITableViewCell을 하위 클래스로 분류하고 IB를 사용하여 둥근 rec 단추를 추가했습니다.사용자 지정 TableViewCell 질문

일반적으로 이벤트는 내 사용자 지정 UITableViewCell 클래스에서 처리됩니다.

그러나이 UITableViewCell을 사용하는 UITableView가있는 viewController에서 단추를 클릭 한 이벤트를 처리하는 방법은 무엇입니까?

답변

0

사용자 지정 셀을 만들 때보기 컨트롤러를 단추 동작의 대상으로 추가하고 있는지 확인하십시오. 그래서에서보기 컨트롤러의 (가 테이블 뷰의 데이터 소스입니다 가정) : 그래서

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    // All your standard identifier & dequeueing stuff here 
    if (cell == nil) 
    { 
     // We are creating a new cell, let's setup up its button's target & action 
     cell = [[[CustomCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:CellIdentifier] autorelease]; 
     [cell.yourButton addTarget:self action:@selector(yourAction:) forControlEvents:UIControlEventTouchUpInside]; 
    } 
    return cell; 
} 
+0

이 방법은 버튼을 누를 때마다 작동합니다. 하지만 어떻게 그것이 선택기에 도청했다 indexpath를 전달합니까? –

+0

http://stackoverflow.com/questions/7044532/pass-parameter-through-selector –

+0

에서 참조로 문제를 해결했습니다. 테이블 뷰 셀에 대한 참조를 가져올 수 있습니다. 단추. 다음은 tableview의 indexpathforcell : 메소드를 사용하는 것입니다. – Rog

0

무엇 u는 정말 싶어하는 것은 할이 있음을 만들 다음에 UIView의 서브 클래스를 생성하고 있기 때문에 그것 좀 u는 그 일을하는 방법을 akward 셀의 contentView에 추가하십시오. 하지만이 방법으로 U는이 방법으로 버튼의 태그를 인덱스로 설정 한 다음 셀렉터에서 cancelButton이라는 함수를 사용해야합니다. 그러면 ur가되어야합니다 cancelButton function decleration - (void) cancelButton : (id) sender { UIButton pressed = (UIButton) 송신자; // 그런 다음 pressed.tag 버튼을 사용하여 태그에 pf를 입력하십시오.

관련 문제