需要在按下按钮时“刷新”应用程序的屏幕

时间:2014-03-01 04:22:51

标签: ios iphone objective-c avfoundation calayer

我有一个可让用户捕捉照片的应用。现在,当用户按下按钮拍摄照片时,我创建了一个CALayer对象并将其内容属性设置为等于刚刚创建的图像对象。

基本上,当用户拍照时,拍摄的图像会显示在屏幕上。

现在我有一个始终在屏幕上的按钮。如果用户尚未拍摄照片,并按下此按钮,则会执行segue并将其带回主应用屏幕。

如果用户拍了照片并按下此按钮,它会拉出一个操作表并给出2个选项:“取消”和“删除”。如果他们按“删除”,则会将其分段并将其带回主应用程序屏幕。

我需要这样做,如果他们按“删除”,它将基本上刷新视图控制器,以便他们仍然能够捕获一个全新的图片。我不希望它将它们带回主应用程序屏幕。

我只是不知道如何“刷新”视图控制器。我试着打电话给[self.view setNeedsDisplay];,但这没有做任何事情。我有一种感觉,最好的选择是以某种方式“杀死”或“刷新”已创建的CALayer,但我不确定这是否是最佳方式或我将如何做到这一点。

此外,如果有所作为,我正在使用AVFoundation

非常感谢任何帮助。

更新:我现在正在调用这个层上的setNeedsDisplay方法调用,它运行正常:

[_subLayer setNeedsDisplay];

我是否需要做任何其他事情,例如“刷新”或“杀死”包含刚捕获的图像的对象,或者ARC会处理此事?

1 个答案:

答案 0 :(得分:0)

Here session is Object of AVCaptureSession

if ([session isRunning]) 
{
        [session stopRunning];
}
[session startRunning];