2012-06-24 117 views
8

我正在使用UIImagePickerController的相機覆蓋視圖的iPhone應用程序。但是,我遇到的問題是,當拍攝照片並彈出預覽屏幕時,我的疊加層仍在屏幕上。這看起來很奇怪。所以,我需要做的兩兩件事之一,這兩者被證​​明比我本來希望更多的困難:UIImagePickerController沒有覆蓋預覽

  1. 取出覆蓋在預覽屏幕是活動
  2. 不顯示預覽屏幕

我知道我可以通過設置showsCameraControls = NO來完成#2,但是,我目前沒有創建自己的相機控件,我仍然想使用默認控件。這似乎是一個大錘的方法來說,我需要重新創建一個完美的UI與定製的界面只是爲了繞過預覽屏幕。

在側面咆哮中,我發現內置攝像頭不使用預覽屏幕令人討厭,但蘋果顯然迫使應用程序竭盡全力避免使用它。看起來很奇怪。

+0

你找到一個解決辦法?我有同樣的問題:http://stackoverflow.com/q/23795453/1933185。我發現的解決方法,但不是很好(最後一篇文章):http://iphonedevsdk.com/forum/iphone-sdk-development/21950-remove-camera-overlay-image.html。另一個選擇'UIImagePickerController'從'UINavigationController'下有一個鉤子的可能性... – jerik

+0

我結束了使用大錘和定製相機界面 - 希望你比我有更好的運氣! :) –

+0

大錘是我的後備:)東西告訴我,UINavigationController確實有潛力 - 我會嘗試。 – jerik

回答

1

確保您設置的委託作爲imagePicker.delegate=self;

,並要求委託梅索德

- (void) imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info; 你來自哪裏,上海華刪除imagePicker.view(取決於你的方式把它叫做)

我希望幫助

+0

我正在使用這個委託調用 - 但它不會被調用,直到預覽顯示並點擊「使用」按鈕。 –

0

您必須使用NSNotificationCenter以及@「_ UIImagePickerControllerUserDidCaptureItem」和@「_ UIImagePicker ControllerUserDidRejectItem」。

當進入預覽視圖可以去除覆蓋:)一個工作代碼示例可以在這裏找到:https://stackoverflow.com/a/23899448/1933185