2017-10-25 3 views
1

iOS11 에뮬레이터를 사용하여 UICollectionView에서 이상한 문제가 발생했습니다. 내 프로젝트에서 나는 세포로 UIImageView을 가지고 있고, 뷰 컨트롤러로 드래그하여 세포를 위해 트리거 된 세그먼트로 segue를 만들었습니다. 그것은 좋은 일하지만 난 세포에서 SEGUE이 Segues 트리거 제거하기로 결정하고 내가 대상 뷰 컨트롤러에 내보기 컨트롤러에서 SEGUE를 생성하고 코드didSelectItemAt for UICollectionView가 더블 터치에서만 호출 중임

func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell { 
    let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "PhotoCell", for: indexPath) as! PhotoCell 
    if let url = URL(string: "\(StringResources.serverAddress)/Content/images/Files/Thumb/\(photos[indexPath.row])") { 
     cell.image.downloadFrom(url: url) 
    } 
    return cell 
} 

func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) { 
    print("clicked") 
    performSegue(withIdentifier: "PhotoSegue", sender: collectionView.cellForItem(at: indexPath)) 
} 

에서 SEGUE을 수행 한 SEGUE 그렇게 수행되지 알고 있지만 그건되었다 어느 쪽도 작동하지 않고 콘솔에 클릭 된 내용이 인쇄되어 있지 않습니다. 셀을 확인한 후 UIImageView 사용자 상호 작용 UICollectionView 대리인이 괜찮습니다. 어떻게 해결할 수 있습니까?


편집 : 문제를 발견했습니다. 내가 셀을 더블 클릭을있을 때 그것은 단지 부르고

+0

세포에 대한 정보를 더 많이 공유 할 수 있습니까? – jvrmed

+0

그것은'UIImageView' 만 가지고 있습니다. @jvrmed –

+0

예 제가보기 컨트롤러에 설정되었고 코드에서 다시했으나 @OzgurVatansever를 도와주지 않았다고 언급했습니다. –

답변

3

위해 몇 가지 확인할 수있는 것들을 한 번 그들 모두가 있습니다 그것을 작동합니다 : 당신의 UICollectionView 대리인과는 dataSource 모두 가지고

  1. 확인 세트. 당신의 UIImageView 속성을 userInteractionEnabled
  2. 확인은 거짓로 설정됩니다.

문서에 따르면

이미지보기는 기본적으로 사용자 이벤트를 무시합니다. 일반적으로 이미지보기는 인터페이스에 시각적 인 내용을 표시 할 때만 사용합니다. 이미지보기에서 사용자 상호 작용도 처리하도록하려면 isUserInteractionEnabled 속성 값을 true로 변경합니다. 이를 수행 한 후에는 제스처 인식기를 부착하거나 다른 이벤트 처리 기술을 사용하여 터치 이벤트 또는 기타 사용자 시작 이벤트에 응답 할 수 있습니다.

  1. UICollectionView과 부모가 모두 있는지 확인하십시오. userInteractionEnabled 속성이 으로 설정됩니다.
  2. 터치 이벤트가 걸리는 다른 UIGestureRecognizers이 없는지 확인합니다.
  3. UI가 멈추는 네트워크 요청이 없는지 확인하십시오.

제공된 정보를 고려할 때 셀에서 UIImageView을 제거하고 더 많은 요소를 추가하기 전에 셀 터치가 작동하는지 확인하려고합니다.

+0

작동하지 않습니다. 나는 확실히 –

+0

라인, 휴대 클래스와도 가능하게 컨트롤러를 읽어 보시기 바랍니다 편집 한 구현? – jvrmed

+0

에 대한 귀하의 의견에 방해하는 또 다른 요소는 당신이 다른 _UICollectionViewDelegate_ 방법은 거기입니다, 내 게시물은 마지막으로 당신이 더 많은 정보를 공유 할 필요가 – jvrmed

관련 문제