ZXing向导航控制器呈现ZXingWidgetController

问题描述:

我有一个小问题ZXingWidgetController,如果我使用导航控制器呈现控制器,视图将立即被推入,但是会有一个空白屏幕大约1.5秒,然后AVCapture开始。然而,如果我将其作为模态呈现,则AVCapture将在模态出现后立即开始。ZXing向导航控制器呈现ZXingWidgetController

我已经篡改了WidgetController很多,因为我需要使用相同的AVCapture窗口读取其他种类的条形码,而且工作得很好。我虽然可能是这个问题,但在尝试未经修改的WidgetController附带的SampleTest并将其推入导航控制器后,行为是相同的。所以这不是问题。

我尝试过推迟了一段时间,但在延迟之后,视图仍然被按下,首先出现空白屏幕。

有没有人处理过这个?

今天回到工作,仔细看了看代码......问题其实很简单,AVCapture开始方法在viewDidAppear方法中调用,我将它移动到viewWillAppear方法并解决问题:)

你有演示显示这个吗?

我想不出任何原因,它会影响控制器如何呈现。加载AVFF需要时间,因此第一次呈现需要更长时间的东西时就是这种情况。 ZXWdidgetController不保存AVFF对象:只要视图出现并消失,它就会创建并删除它们。但所有这些事情都应该是一样的,无论小组件的展示方式如何,只要首先比较它们即可。

通常,捕捉通常会在AVFF启动相机时短暂显示旧图像。据我所知,所有相机相关的应用都是如此(并且很乐意被纠正)。但我认为它通常不会像1500毫秒。

请注意,在调试器下运行的延迟更加明显,大概是因为在加载框架时它正在加载符号等。

+0

我也想不出任何原因,它也没有在调试器上运行,代码是在这里http://code.google.com/p/zxing/downloads/list只是下载1.7版本,并在sampletest下的iphone文件夹 – 2012-01-16 16:35:39

+0

也许我错过了一些东西:你是说未修改的ScanTest显示延迟? – smparkes 2012-01-16 19:59:45

+0

完全未修改的工作正常,因为它以模态方式呈现视图,但是如果您用导航控制器将其推入,则会显示延迟。我所说的我修改的是wingetcontrlller和解码器,使它可以与使用相同AVCapture的另一个条码库一起工作。 – 2012-01-16 20:09:57