2017-09-27 2 views
3

Est-ce que quelqu'un sait ce qui se passe avec ce problème? Ma cellule arrête de glisser à cause de ça.Chemin d'index nul inattendu dans _shouldShowMenuForCell

[Assert] chemin d'index nul inattendu dans _shouldShowMenuForCell :, cela ne devrait jamais se produire. Cellule; baseClass = UITableViewCell; cadre = (0 97,5; 375 130); alpha = 0; caché = OUI; autoresize = W; gestureRecognizers =; couche =>

Help !!!

+1

soins à partager un peu de code? –

+0

Ce n'est pas quelque chose de spécial, seulement VC avec UItableView. Balayage de cellule que j'ai créé en utilisant un outil de reconnaissance de gestes implémenté dans la sous-classe de UITableViewCell et fonctionne correctement, le problème commençant lorsque ce journal est affiché. – Piotr

Répondre

1

Je change la méthode de balayage de gestureRecognizer à ScrollView et tout fonctionne parfaitement.

1

Si votre cellule est créée par - [[[NSBundle mainBundle] loadNibNamed: nibName propriétaire: self options: nil] lastObject];

ET d'utiliser addSubview pour l'afficher. Ce problème se produira.

Ma solution utilise « addSubview: cell.contentView » MAIS NON « addSubview: cellule »

0

I solution déjà trouvé, même avec la création de cellules swipe à l'aide de reconnaissance de geste, dans mon cas le problème ("inattendu chemin d'index nul . dans _shouldShowMenuForCell :, cela ne devrait jamais se produire «) comparaissait à cause de cette fonction:

override func hitTest(_ point: CGPoint, with event: UIEvent?) -> UIView? { 
     for subview in self.subviews.reversed() { 
      if subview.frame.contains(point) { 
       return subview 
      } 
     } 

     return super.hitTest(point, with: event) 
} 

conseil: solution de travail: Capturing touches on a subview outside the frame of its superview using hitTest:withEvent: