【发布时间】:2014-11-14 11:40:47
【问题描述】:
我有一个应用程序,其中有一个主要的UIViewController,还有一个用于在点击按钮后以模态方式呈现的次要应用程序。
两个UIViewControllers 都有自己的GPUImageStillCamera,并添加了相应的GPUImageView 作为子视图。到目前为止一切正常。
但是,当我转到模态显示的 UIViewController 并关闭它时,我的主控制器上的相机在我打开第二个控制器之前的最后一帧上保持不动。
我在PrimaryViewController中调用的内容
-(void)viewDidAppear:(BOOL)animated{
[super viewDidAppear:animated];
[_stillCamera resumeCameraCapture];
}
-(void)viewDidDisappear:(BOOL)animated{
[super viewDidDisappear:animated];
[_stillCamera pauseCameraCapture];
}
我在SecondaryViewController 中调用的内容
-(void)viewWillAppear:(BOOL)animated{
[super viewWillAppear:animated];
[_stillCamera resumeCameraCapture];
}
-(void)viewWillDisappear:(BOOL)animated{
[super viewDidDisappear:animated];
[_stillCamera stopCameraCapture];
}
我 100% 确定方法会触发(使用断点检查)。从逻辑上讲,第一个相机应该只是恢复预览,一旦再次查看它,但它不会 - 它在最后一帧冻结(当调用 pauseCameraCapture 方法时。有什么方法可以强制它刷新(除了重新创建再次)?我已经检查过 - 它也没有被释放。
我错过了什么?
【问题讨论】:
-
尝试更改主 VC 以使用“将”出现/消失而不是“已”出现/消失。不确定它是否会有所帮助,但值得一试。
标签: ios iphone gpuimage gpuimagestillcamera