J'ai un UITableView
à l'intérieur d'un UIPageViewController
et les événements de balayage ne semblent pas passer au UITableView
.Transférer supprimer le geste de balayage de UIPageViewController à UITableView
J'ai été en mesure de désactiver le rebondissement des bords pour mon UIPageViewController
, mais je n'ai toujours pas trouvé un moyen d'activer de manière cohérente glisser à supprimer dans mon UITableView
.
Dans cet exemple, il prend plusieurs grands coups pour obtenir le bouton Supprimer pour apparaître. Le geste est extrêmement difficile sur un périphérique réel
Il n'y a pas une autre page après la page sur la droite, donc il n'y a aucune raison pour que le UIPageViewController
ait besoin de ce balayage.
Dans viewDidLoad
J'ai:
for view in self.pageViewController.view.subviews {
if let scrollView = view as? UIScrollView {
scrollView.delegate = self
}
}
Ci-dessous que j'ai:
func gestureRecognizer(_ gestureRecognizer: UIGestureRecognizer, shouldRecognizeSimultaneouslyWith otherGestureRecognizer: UIGestureRecognizer) -> Bool {
return true
}
func gestureRecognizer(_ gestureRecognizer: UIGestureRecognizer) -> Bool {
print(gestureRecognizer)
if gestureRecognizer is UISwipeGestureRecognizer {
return false
}else{
return true
}
}
Il y a beaucoup de messages connexes avec des réponses différentes, mais aucun d'entre eux travaillent pour mon cas d'utilisation.
Ceci est plus d'une alternative à une solution à ma question, mais je viens d'utiliser MGSwipeTableCell. C'était très facile à mettre en œuvre. https://github.com/MortimerGoro/MGSwipeTableCell – ChrisRockGM