La manipulation des événements tactiles à l'intérieur d'un enfant UIScrollView

Je suis l'affichage d'une série d'images dans un UIScrollView. J'ai à peu près à répliquer l'application Photos.

Mon architecture actuelle est:

  • Un parent UIScrollView avec la taille du contenu, qui est assez large pour x nombre de pages + un peu d'espace supplémentaire pour les marges entre les images.
  • Chaque image est contenue dans une UIImageView.
  • Chaque UIImageView est contenue dans ses propres UIScrollview qui sont alors les sous-vues de la société mère UIScrollView.

    J'ai donc une rangée de UIScrollViews à l'intérieur d'un parent UIScrollView.

    Le parent UIScrollView a la pagination permis donc je peux passer d'une page à l'autre sans aucun problème.

    Le problème est de savoir comment de façon transparente un panoramique sur une image zoomée. J'ai annulé la viewForZoomingInScrollView méthode pour retourner approprié UIImageView lorsque l'utilisateur pince in/out. J'ai remplacé le scrollViewDidEndZooming méthode pour définir le parent de la vue canCancelContentTouches propriété NO si l'échelle de zoom est supérieur à 1.

    De sorte que les utilisateurs sont en mesure de faire un panoramique sur une image. Cependant, ils doivent tenir leur doigt vers le bas pour un moment de franchir le petit retard le parent de défilement de la vue a avant d'envoyer les événements tactiles en bas de la sous-vues. Aussi, une fois que l'utilisateur se déplace dans une seule image, la next/prev images ne pas entrer dans la zone visible lorsque l'utilisateur a atteint la frontière de l'image actuelle.

    Des idées?

    Grâce.