2010-05-27 4 views
0

J'utilise un UIImagePickerController configuré comme une caméra avec une vue de superposition.Recréer "presentModalViewController"?

Je veux présenter un contrôleur de vue modale sur ce sujet. Quand je le fais, cependant, la vue de la caméra "se ferme". Ce serait bien, mais quand je rejetteModalViewControllerAnimated, je vois la caméra fermée, et il y a un délai long et ennuyeux avant qu'il rouvre. Je voudrais éviter cela.

À moins que quelqu'un ait une meilleure approche, je prévois d'effectuer simplement la transition que presentModalViewController effectuerait moi-même. Cependant, si je prends mon point de vue modal à partir de son contrôleur et l'ajouter en tant que vue sous de la vue superposition de la caméra, comme ceci:

[[_imagePickerController cameraOverlayView] addSubview: [viewController view]];

alors la vue modale ne montre pas du tout, et l'application se bloque avec un EXC_BAD_ACCESS dans layoutSubViews de ma vue "modale".

Où, si je le présente avec presentModalViewController, tout fonctionne bien. Clairement, presentModalViewController fait également d'autres choses. Est-ce que quelqu'un sait ce que c'est pour que je puisse le recréer?

Répondre

0

Wow - je ne me sens pas comme un fou. L'ingrédient profondément mystérieux et complexe, dans "presentModalViewController:" qui me manquait est de conserver le contrôleur de vue étant présenté. Doah! Je ne l'étais pas, alors il s'est écrasé quand la vue (une vue de table) a accédé au contrôleur pour rechercher ses cellules.

Autre que cela, il est assez facile de rouler votre propre équivalent actuel. Bon lien ici:

http://dmunsie.wordpress.com/2009/08/07/custom-animations-between-uiviewcontrollers/

- Je pense que ce que le code fait (un fondu enchaîné) peut être fait simplement avec l'habituel « présent ... » appel, en spécifiant un « UIModalTransitionStyleCrossDissolve », mais elle illustre ce qui est aller dans les coulisses.

Peut-être que cela aidera quelqu'un :-)

Questions connexes