2016-08-23 4 views
-3

이전에 선택한 행을 선택 취소하고 다시 선택하고 싶습니다. 이 행을 다른 행에서 선택 취소 할 수만 있습니다. 그러나 이것을 다시 클릭하지 마십시오. 어떻게해야합니까?목표 C에서 선택한 행을 어떻게 해제 할 수 있습니까?

이 내 코드입니다 :

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
[self updateTableView]; 
} 

- (void)tableView:(UITableView *)tableView didDeselectRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
[self updateTableView]; 
} 


- (void)updateTableView 
{ 
[self.tableView beginUpdates]; 
[self.tableView endUpdates]; 
} 

감사합니다!

+0

관련있는 것이 있는지 없는지 질문을 올리기 전에 확인하십시오. http://stackoverflow.com/questions/3968037/how-to-deselect-a-selected-uitableview-cell –

답변

0

tableviews에는 deselectRowAtIndexPath 메서드가 있습니다. 이 메서드는 indexpath를 전달합니다.

0

속성을 사용하여 선택한 색인 경로를 추적합니다. tableView:didSelectRowAtIndexPath: 내에 저장된 인덱스 경로를 위임 방법에서 제공된 인덱스 경로와 비교하십시오. 동일하면 행이 이미 선택되었음을 의미합니다. deselectRowAtIndexPath:animated:으로 전화를 걸어 선택을 취소하고 저장된 색인 경로를 nil로 설정하십시오. 그렇지 않으면, 저장된 색인 경로를 위임 메소드에서 제공된 색인 경로로 갱신하십시오.

관련 문제