2012-04-16 97 views
8

編輯相片它被服用後(移動和縮放它)在我的應用程序正常工作與這一行:cameraOverlayView防止編輯與allowsEditing

[imagePicker setAllowsEditing:YES]; 

但是,如果我還使用了cameraOverlayView,編輯模式沒有按」工作了。屏幕出現,但平底鍋和捏手勢不會使任何事情發生。

我使用的是一般的圖片選擇器:

UIImagePickerController *imagePicker = [[UIImagePickerController alloc] init]; 

而且我添加了一個攝像頭的覆蓋角度,從自定義視圖控制器的視圖中創建:

CameraOverlayViewController *overlayController = [[CameraOverlayViewController alloc] init]; 
UIView *overlayView = overlayController.view; 
[imagePicker setCameraOverlayView:overlayView]; 

在IB,這種觀點是設置爲啓用用戶交互和多點觸摸,這使得它可以在拍攝照片時進行縮放和聚焦。但是一旦拍攝照片並進入編輯模式,您將無法平移或縮小以移動或縮放照片。

我錯過了什麼?

+0

我在這裏看到相同的問題。並且音量控制(快門)按鈕在使用疊加層後無法使用 – tom 2012-04-19 21:44:55

+0

使用Billy的驚人技巧或http://stackoverflow.com/questions/17942444/uiimagepicker-cameraoverlayview-appears-on-retake-screen – Fattie 2014-02-19 16:34:36

回答

32

您的覆蓋圖是否佔據了相機視圖的整個空間?如果是這樣,即使您有透明背景,觸摸也會覆蓋而不是下面的視圖。

將此方法添加到疊加視圖,它將忽略觸摸,以便將它們傳遞到下面的視圖。 (你正在重寫UIView的檢測觸摸的方法。)

- (BOOL)pointInside:(CGPoint)point withEvent:(UIEvent *)event 
{ 
    return NO; 
} 

注:還有那夢幻般的提示,你也可能要使用此一塊信息,刪除您的覆蓋圖,在該階段:UIImagePicker cameraOverlayView appears on Retake screen

+0

正是我所期待的。謝謝。 – 2012-05-08 01:18:17

+0

謝謝。我不再在這個功能上工作,所以我沒有在我自己的應用上測試過,但我認爲它是笨拙的。對不起,我早點錯過了! – 2012-06-20 13:27:07

+0

謝謝,它幫了我很多... – 2013-03-01 07:15:06