2017-10-12 3 views
0

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.

In this sample, it takes multiple swipes to get the delete button to show up. The gesture is extremely finicky on an actual device

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.

+0

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

Répondre

0

Vous pouvez désactiver le swipe du UIPageViewController par pas en utilisant datasource, il suffit d'utiliser la méthode setViewControllers:direction:animated:completion pour fournir le contents.Hope le glissement du tableView peut fonctionner.

+0

Je dois afficher plusieurs pages, donc je ne sais pas comment je pourrais implémenter ceci sans déchirer complètement le 'UIPageViewController' – ChrisRockGM