2012-07-13 3 views
0

UITableViewCell에서 사용자 정의 라디오 버튼을 만듭니다. 각 버튼 선택에 대한 알림을받을 대리자를 구현하는 데 혼란 스럽습니다. 사용자가 특정 행을 선택할 때iPhone에서 사용자 정의 라디오 버튼 인덱스 선택에 대해 대리인에게 알립니다.

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath; 

은이 호출된다

예를 들어, jQuery과, 우리는 방법이있다. 내 옵션 버튼 선택에 대해 동일한 동작을 원합니다.

미리 감사드립니다.

답변

1

서브 클래스 UIButton을 제안하고 바퀴를 다시 만들지 않고 일반적인 목표/동작 의미를 사용하는 것이 좋습니다.

그러나 위임 패턴을 일반적으로 구현하려면 Cocoa Fundamentals Guide에 Apple의 훌륭한 설명서가 있습니다 ("사용자 정의 클래스 용 대리인 구현"절로 스크롤).

1

사용자가 취한 행동을 관찰하고 싶을 것입니다. 라디오 버튼을 UIControl로 만들고 대상 액션을 사용하여 사용자 선택을 관찰합니다. 지금 그래서

- (void)radioButtonValueDidChange:(RadioButton *)button { 
// Do whatever you need to after a user selects a button. 
} 

: 행동을 관찰하는 방법 구현 다음

[radioButton addTarget:self action:@selector(radioButtonValueDidChange:) forControlEvent:UIControlEventValueChanged]; 

과 :

그래서 당신은 버튼을 말하고 싶은 것 "radioButtonValueDidChange를"때마다 호출됩니다 개체가 선택되거나 선택 취소되면 그에 따라 행동 할 수 있습니다.

+0

고마워요, 제게 많은 도움이되었습니다. 그러나 위의 일반적인 방법과 위의 방법으로 위임 패턴을 사용했습니다. –

+1

테이블 셀을 설정할 때 태그 변수를 사용하여 변경된 라디오 버튼을 구별 할 수 있습니다. radioButton.tag = indexPath.row; –

관련 문제