我有一个应用程序,其中包含一个主要的应用程序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
调用该方法时。有什么方法可以强制它刷新(除了重新创建它之外) ? 我已经检查过了——它也没有被释放。
我错过了什么?