重新创建“presentModalViewController”?

时间:2010-05-27 13:12:17

标签: iphone

我正在使用UIImagePickerController设置为具有叠加视图的相机。

我想在此基础上提供一个模态视图控制器。但是,当我这样做时,相机视图“关闭”。这没关系,但是当我解雇ModalViewControllerAnimated时,我看到了关闭的摄像头,并且在重新打开之前有一个漫长而烦人的延迟。我想避免这种情况。

除非某人有更好的方法,否则我计划简单地执行presentModalViewController自己执行的转换。但是,如果我从它的控制器中取出我的模态视图并将其添加为相机叠加视图的子视图,如下所示:

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

然后模态视图根本不显示,应用程序在我的“模态”视图的layoutSubViews中与EXC_BAD_ACCESS崩溃。

如果我将其与presentModalViewController一起呈现,那么一切正常。显然,presentModalViewController也在做其他一些事情。有谁知道这是什么,以便我可以重新创建它?

1 个答案:

答案 0 :(得分:0)

哇 - 我不觉得自己像个笨蛋。

我所缺少的“presentModalViewController:”中非常神秘,错综复杂的成分是保留正在呈现的视图控制器。 Doah!我当时没有,所以当视图(表格视图)访问控制器以查找它的单元格时崩溃了。

除此之外,你可以很容易地推出自己现有的等价物。好的链接在这里:

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

- 我认为代码所做的事情(交叉淡入淡出)可以通过指定“UIModalTransitionStyleCrossDissolve”简单地使用通常的“present ...”调用来完成,但它确实说明了幕后发生的事情。

也许这会对某人有所帮助: - )