需要在按下按钮时“刷新”应用程序的屏幕
Posted
技术标签:
【中文标题】需要在按下按钮时“刷新”应用程序的屏幕【英文标题】:Need to "refresh" app's screen on button press 【发布时间】:2014-03-01 04:22:50 【问题描述】:我有一个应用程序可以让用户拍摄照片。现在,当用户按下按钮拍照时,我创建了一个CALayer
对象并将其内容属性设置为与刚刚创建的图像对象相同。
所以基本上,当用户拍摄他们的照片时,捕获的图像会显示在屏幕上。
现在我有一个始终在屏幕上的按钮。如果用户还没有拍照,并且他们按下了这个按钮,那么它会执行一个 segue 并将他们带回主应用程序屏幕。
如果用户拍摄了一张照片,并且他们按下了此按钮,它会拉出一个操作表并为他们提供 2 个选项:“取消”和“删除”。如果他们按“删除”,它会继续并将他们带回主应用程序屏幕。
我需要这样做,如果他们按下“删除”,它将基本上刷新视图控制器,以便他们仍然能够捕捉到全新的图片。我不希望它把他们带回主应用程序屏幕。
我只是不知道如何“刷新”视图控制器。我试过打电话给[self.view setNeedsDisplay];
,但这没有任何作用。我有一种感觉,最好的办法是以某种方式“杀死”或“刷新”创建的 CALayer,但我不确定这是否是最好的方法或我会如何做到这一点。
另外,我正在使用AVFoundation
,如果这有影响的话。
非常感谢任何帮助。
更新:我现在像这样在图层上调用setNeedsDisplay
方法调用,它运行良好:
[_subLayer setNeedsDisplay];
我是否需要做任何其他事情,例如“刷新”或“杀死”保存刚刚捕获的图像的对象,或者ARC
会处理这些?
【问题讨论】:
在viewWillAppear中怎么样:? 【参考方案1】:Here session is Object of AVCaptureSession
if ([session isRunning])
[session stopRunning];
[session startRunning];
【讨论】:
与我添加到原始问题底部的“更新”解决方案相比,这是否会更好地提高性能?以上是关于需要在按下按钮时“刷新”应用程序的屏幕的主要内容,如果未能解决你的问题,请参考以下文章