2011-12-12 4 views
0

3 개의 체크 표시 버튼이있는 UITableViewCell이 있습니다. 각 체크 표시 버튼은 사용자 정의 UIButton (실제로 이미지 만)이며 사용자 정의 UITableViewCell 하위 클래스에 콘센트가 있습니다. cellForRowAtIndexPath 메서드에서 IaddTarget : action : forControlEvents : from UITableViewCell

[cell.firstcheckmark addTarget:self action:@selector(checkmarkPressed:) forControlEvents:UIControlEventTouchUpInside]; 
[cell.secondcheckmark addTarget:self action:@selector(checkmarkPressed:) forControlEvents:UIControlEventTouchUpInside]; 
[cell.thirdcheckmark addTarget:self action:@selector(checkmarkPressed:) forControlEvents:UIControlEventTouchUpInside]; 

- (void)checkmarkPressed:(id)sender { 
    // how do I get which checkmark was pressed? 
} 

보낸 사람 개체에서 어떤 단추를 눌렀는지 알 수 없습니다. 다른 경우 버튼의 제목을 사용할 수 있지만이 경우 모든 버튼은 콘센트를 제외하고 동일합니다. 어떤 버튼을 눌렀는지 어떻게 알 수 있습니까? 아니면 각각 다른 메소드를 호출해야하나요? 그런 다음이 세 가지 메소드 각각에서 동일한 modelUpdateMethod를 호출하여 모델을 업데이트 할 수 있습니다. 감사. 난 당신도 사용할 수 있다고 생각

cell.firstcheckmark.tag = 0; 

그리고

- (void)checkmarkPressed:(id)sender { 

    UIButton *button = (UIButton*)sender; 

    if(button.tag == 0) 
    { 
     ... 
    } 
    ... 
} 

답변

2

당신은 자신의 태그로 그들을 식별 할 수

UITableViewCell *cell = (UITableViewCell *)[[sender superview] superview]; 

가 얻을 수있는 세포의 버튼에서 .

관련 문제