2014-03-01 101 views
0

我有一個應用程序,讓用戶捕捉照片。現在,當用戶按下按鈕拍攝照片時,我創建了一個CALayer對象,並將其內容屬性設置爲等於剛剛創建的圖像對象。需要「刷新」應用程序的屏幕按鈕按

因此,基本上,當用戶捕捉他們的照片時,拍攝的圖像顯示在屏幕上。

現在我有一個始終在屏幕上的按鈕。如果用戶還沒有拍攝照片,並且他們按下此按鈕,則它執行搜索並將其帶回主應用程序屏幕。

如果用戶拍了一張照片,然後他們按下這個按鈕,它會拉起一張工作表並給他們兩個選項:「取消」和「刪除」。如果他們按下「刪除」,它會繼續並將它們帶回主應用程序屏幕。

我需要做到這一點,如果他們按下「刪除」,它將基本上刷新視圖控制器,以便他們仍然能夠拍攝全新的圖片。我不想讓它們回到主應用程序屏幕。

我只是不知道如何「刷新」視圖控制器。我試過打電話[self.view setNeedsDisplay];,但沒有做任何事情。我有一種感覺,最好的辦法是以某種方式「殺死」或「刷新」已創建的CALayer,但我不確定這是否是最好的方式,或者我會如何做到這一點。

此外,我使用AVFoundation,如果這有所作爲。

任何幫助,非常感謝。

更新:我現在要求這樣的層上setNeedsDisplay方法調用,它是可以正常使用:

[_subLayer setNeedsDisplay]; 

我需要做別的事情,比如「刷新」或「殺」的對象持有剛剛拍攝的圖像,或將ARC照顧這個?

+0

怎麼樣在viewWillAppear:? – danh

回答

0
Here session is Object of AVCaptureSession 

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

與我添加到原始問題底部的「更新」解決方案相比,性能會更好嗎? – user3344977

相關問題