[uitableview] UITableView didSelectRowAtIndexPath : 첫 번째 탭에서 호출되지 않음

에 문제가 UITableView's didSelectRowAtIndexPath있습니다.

내 테이블은 행을 선택할 때 새보기 컨트롤러를 초기화하고 푸시하도록 설정되어 있습니다.

테이블의 행을 처음 탭하면 메서드가 호출되지 않습니다. 다른 행을 선택하면 정상적으로 작동합니다.

에 중단 점을 설정하여이를 확인했습니다 didSelectRowAtIndexPath. NSLog메소드에를 추가 할 때 마지막으로 새보기 컨트롤러를 푸시하는 두 번째 행을 선택하면 동시에 두 개의 로그 문이 콘솔에 나타납니다.

어떤 제안?



답변

실수로 입력 한 모든 기회는 한 selectRowAtIndexPath를?


답변

또한 xib 파일에서 테이블 뷰의 선택 속성을 확인하십시오. 필요에 따라 ‘단일 선택’또는 ‘복수 선택’을 사용하십시오.


답변

다음과 같은 문제가 발생했습니다.

  • 행의 첫 번째 탭-> 효과 없음, 선택 없음, 절대
  • 두 번째 탭 및 다음-> 올바른 선택 동작, 항상

제 경우에는 Show Selection on Touch인터페이스 빌더에서 오류가 확인 되었습니다. IB에서 여기를 선택 해제 할 수 있습니다.

여기에 이미지 설명을 입력하십시오

누군가를 돕는 희망


답변

수업에 제스처 인식기를 설정했는지 확인하십시오. 제스처를 제거하는 것이 나를 위해 일했습니다.


답변

별이 정렬되기 위해 별이 정렬되어 있다고 생각하기 때문에이 답변을 게시하는 것에 대해서도 토론했습니다.

이 문제의 변형이 있고 다른 솔루션을 확인했습니다. 내 테이블보기에서 첫 번째 탭에서 테이블의 마지막 행을 처리하지 않습니다. 강조 표시되지만 didSelectRowAtIndexPath호출되지는 않습니다. 다른 모든 행은 정상적으로 작동합니다. 그러나 테이블 뷰 바운스를 켜면 문제가 해결되는 것처럼 보입니다 (그러나 테이블 뷰 바운스를 처리해야합니다).


답변

해당 문제를 표시하는 셀에 대해 UITableViewCellSelectionStyleNone이 설정되었습니다 (ios9).

나는 결국 전화했다

[tableView deselectRowAtIndexPath:indexPath animated:NO];

가장 먼저

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

동일하지는 않지만 충분합니다. ios10이 어떤 종류의 테이블 손상을 가져 오는지 궁금합니다.


답변

스위프트 2

이 설정이 true인지 확인하십시오.

self.tableView.allowsSelection = true

이것을 당신의 바로 다음 viewDidLoad()과 앞에 놓으십시오 .super.viewDidLoad()