2009-04-13 6 views
0

J'ai un problème lorsque j'ai besoin d'afficher le UIImagePickerController en tant que vue de caméra et de capturer des balayages sur l'écran de l'utilisateur. Actuellement, j'affiche l'imagePicker dans mon contrôleur de vue personnalisé, puis appelle son presentModalViewController pour la caméra. Une fois la caméra affichée, j'insère une vue en haut pour capturer les gestes de balayage de l'utilisateur. La seule chose est que cela ne fonctionne pas. Aucun balayage ne passe.Affichage d'un UIView sur le UIImagePickerController pour capturer les touches de l'utilisateur

Lorsque je montre le contrôleur de manière modale, est-ce que je perds l'option de capturer les touches? Je ne veux utiliser aucune API non documentée pour faire le travail. Quelqu'un at-il ou a eu un problème similaire?

Répondre

0

Une autre option peut être d'avoir une substitution de sous-classe UIApplication sendEvent:. Je n'ai pas essayé avec le sélecteur d'image, mais les robinets sur le clavier passent par ce entonnoir particulier. Cela dit, les deux solutions (la mienne et la vôtre) alors qu'elles n'utilisent pas d'API non documentées, elles font des suppositions sur la disposition des choses à l'écran ou visualisent la hiérarchie ou l'ordre des événements. Pas quelque chose que je comptais voir travailler sur les versions d'OS.

+0

J'ai fini par créer une sous-classe UIView et transmettre des touches à mon contrôleur principal, qui fonctionne. Merci pour votre réponse! – Sophtware

+0

Ça me semble bien ;-) Ça vous dérangerait de poster un extrait? – Stefan

+0

Mon petit truc pour transmettre des touches ne fonctionne pas dans 3.0. Pas certain de pourquoi. Après avoir joué avec lui pendant un moment, j'ai abandonné le code et laissé cette fonctionnalité hors de mon programme. – Sophtware

Questions connexes