2012-02-23 6 views
0

왼쪽에 이미지가있는 테이블 셀이 있습니다. 이제는 셀을 누를 때마다 이미지가 변경되지만 셀의 왼쪽 영역을 두드리면 이미지가 변경되기를 원합니다. 어떻게해야합니까?UITableViewCell의 일부만 선택하는 방법

는 지금은이 :

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath; 
{ 
    if (cell.imageView.image == [UIImage imageNamed:@"checkboxfull.png"]) { 

     cell.imageView.image = [UIImage imageNamed:@"checkboxblank.png"]; 
    } 
    else if(cell.imageView.image == [UIImage imageNamed:@"checkboxblank.png"]) { 

     cell.imageView.image = [UIImage imageNamed:@"checkboxfull.png"]; 
     //[alert show]; 
    } 
} 

답변

4

테이블 셀은 단지 UIView입니다. 맞춤 셀을 만들고 하위 클래스 또는 탭에 응답하는 버튼을 사용합니다.

표 셀의 - (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event을 사용하고 위치를 계산하십시오. 테이블 셀에 대한 자세한 내용은

here

+0

전적으로이 원숭이입니다. 조금 더 설명해 주시겠습니까? 감사합니다. – user1191343

+0

[기사] (https://developer.apple.com/library/ios/#documentation/UserExperience/Conceptual/TableView_iPhone/TableViewCells/TableViewCells)를보십시오. html) –

+0

우수, 감사합니다. – user1191343

2

내가 각 'UIImageView에'Apple Docs를 참조하기위한 'UIGestureRecognizer'을 추가하는 제안 본다. 이미지가 선택되었는지 확인하려면 태그를 사용하십시오 ...

0

에릭의 훌륭한 답변에 더 많은 도움을 주려면, 단지 내가 원하는 곳이면 슈퍼라고 부릅니다.

- (void)touchesEnded:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event 
{ 
    UITouch *touch = touches.anyObject; 
    CGPoint location = [touch locationInView:self.addRemoveButton]; 
    if (CGRectContainsPoint(self.addRemoveButton.bounds, location)) 
    { 
     [super touchesEnded:touches withEvent:event]; 
    } 
} 
관련 문제