J'utilise le code suivant pour installer UIPanGestureRecognizer dans mon élément:Comment assigner UIGestureRecognizerDelegate à CKComponentController
MyComponent *c =[super newWithView:{
[UIView class],
{
{
CKComponentGestureAttribute(
[UIPanGestureRecognizer class],
&setupPanRecognizer,
@selector(panGesture:context:),
{}
)
},
{
@selector(setUserInteractionEnabled:), @YES
}
}
}
component: [MyOtherComponent newOtherComponentWithMode:model context:context]];
I processus panGesture:context
dans l'objet MyComponentController.
Mon problème est que UIPanGestureRecognizer
bloque la vue d'avance du défilement. Afin de résoudre ce problème, je veux utiliser le protocole UIGestureRecognizerDelegate
et permettre aux deux reconnaisseurs (scroll view et my pan) de fonctionner simultanément.
Ma question est comment puis-je affecter mon contrôleur de composant en tant que délégué pour UIPanGestureRecognizer
? setupPanRecognizer
est juste un C function
et il n'a pas de référence à l'objet MyComponentController
ou même le composant lui-même.
La seule façon que je vois maintenant est d'obtenir la liste des identificateurs de gestes quelque part dans didUpdateComponent
méthode dans mon contrôleur, trouver le bon et assigner le délégué là. Est-ce que ComponentKit fournit une solution à cela?