Les UIView qui ne gèrent pas leurs événements les font passer dans la chaîne. Par défaut, cela les passe à leur View parent, et s'il n'est pas géré (en fin de compte) à leur parent UIViewController.Correction de UIScrollView pour passer les événements vers le haut de la chaîne plutôt que vers le bas
UIScrollView brise ce (il y a beaucoup de questions sur le SO, les variations sur le thème de « pourquoi mon application cesse de fonctionner une fois que j'ajouter une UIScrollView?)
UISV décide si l'événement est pour lui-même, et si non , il passe le bas (dans ses sous-vues), si elles ne gèrent pas l'événement, UISV le jette juste le bug
Dans ce cas, il est censé les rejeter dans sa propre vue parente. - et finalement parent UIVC AFAICT, c'est pourquoi tant de gens se confondent: ça ne fonctionne pas comme documenté (NB: comme vues sont documentées; UISV est simplement "non documenté" sur ce sujet - il ne déclare pas ce qu'il vise à faire dans cette situation).
Alors ... y a-t-il une solution facile pour ce bug? Y a-t-il une catégorie que je pourrais écrire qui corrigerait UISV en général et m'éviterait de devoir créer de "fausses" sous-classes UIView qui existent uniquement pour capturer des événements et les remettre où elles sont supposées aller? (Qui fait pour le code sujettes aux bugs)
En particulier, à partir de documents d'Apple:
Si les feux de temps sans un changement significatif de la situation, la vue de défilement envoie le suivi des événements à la sous-vue touché du contenu vue. Si l'utilisateur tire son doigt suffisamment loin avant que la minuterie ne se soit écoulée, la vue déroulante annule tout suivi dans la sous-vue et effectue le défilement lui-même.
... si je pouvais passer outre que « si les feux de minuterie » méthode, et la mettre en œuvre, je crois que je pourrais corriger toutes mes instances UISV correctement,.
Mais: - serait considérer cette pomme « en utilisant une API privée » (leur description de « privée » est absurde en termes de programmation normale, et je ne peux pas comprendre ce qu'ils font et ne veut pas dire par elle) - Est-ce que quelqu'un sait ce que cette méthode est, ou un bon moyen de s'y retrouver? (Débogage des classes ObjC compilées pour trouver les noms de symboles, peut-être?)