我有一个可让用户捕捉照片的应用。现在,当用户按下按钮拍摄照片时,我创建了一个CALayer
对象并将其内容属性设置为等于刚刚创建的图像对象。
基本上,当用户拍照时,拍摄的图像会显示在屏幕上。
现在我有一个始终在屏幕上的按钮。如果用户尚未拍摄照片,并按下此按钮,则会执行segue并将其带回主应用屏幕。
如果用户拍了照片并按下此按钮,它会拉出一个操作表并给出2个选项:“取消”和“删除”。如果他们按“删除”,则会将其分段并将其带回主应用程序屏幕。
我需要这样做,如果他们按“删除”,它将基本上刷新视图控制器,以便他们仍然能够捕获一个全新的图片。我不希望它将它们带回主应用程序屏幕。
我只是不知道如何“刷新”视图控制器。我试着打电话给[self.view setNeedsDisplay];
,但这没有做任何事情。我有一种感觉,最好的选择是以某种方式“杀死”或“刷新”已创建的CALayer,但我不确定这是否是最佳方式或我将如何做到这一点。
此外,如果有所作为,我正在使用AVFoundation
。
非常感谢任何帮助。
更新:我现在正在调用这个层上的setNeedsDisplay
方法调用,它运行正常:
[_subLayer setNeedsDisplay];
我是否需要做任何其他事情,例如“刷新”或“杀死”包含刚捕获的图像的对象,或者ARC
会处理此事?
答案 0 :(得分:0)
Here session is Object of AVCaptureSession
if ([session isRunning])
{
[session stopRunning];
}
[session startRunning];