아래 코드는 선택한 셀 옆에 체크 표시를하고 싶을 때 작동합니다.세 번째 시간에 동일한 UITableViewCell을 선택하면 강조 표시되지 않고 액세서리가 추가됩니다. 확인 표시
다른 셀을 선택하려고 할 때도 작동합니다. 마지막 셀 또는 강조 표시를 선택 취소하고 새 선택한 셀 옆에 체크 표시를하고 강조 표시합니다.
선택 셀을 선택 취소 할 때 선택 셀을 선택 취소 할 때도 작동하며 선택 표시를 해제하고 UITable에서 강조 표시합니다.
그러나 동일한 셀을 세 번째로 선택하면 (즉, 먼저 코드를 선택하고 코드를 강조 표시 한 다음 옆에 체크 표시를하고 같은 셀을 두 번째로 선택하고 강조 표시 및 확인 표시가 있으면 세 번째로 동일한 셀을 선택합니다) 셀을 초 단위로 강조 표시하고 하이라이트가 사라집니다. 셀 옆의 체크 표시는 마치 내가 선택을 취소 한 것처럼 나타나지 않습니다. 동일한 셀을 몇 번 선택하든 관계없이 강조 표시하거나 옆에 체크 표시를하지 않습니다. 이를 수행하는 유일한 방법은 먼저 다른 셀을 선택한 다음 원래 셀을 다시 선택하는 것입니다. 도와주세요.
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath*)indexPath
{
// select new
UITableViewCell *cell = [self.tableView cellForRowAtIndexPath:indexPath];
cell.accessoryType = UITableViewCellAccessoryCheckmark;
[cell setSelected:TRUE animated:TRUE];
// deselect old
UITableViewCell *old = [self.tableView cellForRowAtIndexPath:self.lastSelected];
old.accessoryType = UITableViewCellAccessoryNone;
[old setSelected:FALSE animated:TRUE];
// keep track of the last selected cell
self.lastSelected = indexPath;
}
나는 스토리 보드를 통해 jQuery과 내장. 이 논리의
. 감사합니다 @ 앤드류! – user1107173