2012-04-16 37 views
8

Chỉnh sửa ảnh sau khi nó được thực hiện (di chuyển và mở rộng quy mô nó) hoạt động tốt trong ứng dụng của tôi với dòng này:cameraOverlayView ngăn chặn chỉnh sửa với allowsEditing

[imagePicker setAllowsEditing:YES]; 

Nhưng nếu tôi cũng sử dụng một cameraOverlayView, chế độ chỉnh sửa doesn' t làm việc nữa. Màn hình xuất hiện, nhưng cử chỉ xoay và chụm không làm bất cứ điều gì xảy ra.

Tôi đang sử dụng bộ điều khiển chọn hình ảnh trung bình của bạn:

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

Và tôi thêm một cái nhìn camera overlay, được tạo ra từ xem một cái nhìn khiển của tùy chỉnh:

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

Trong IB, xem đó là thiết lập để cho phép tương tác người dùng và nhiều lần chạm, cho phép nó phóng to và lấy nét trong khi chụp ảnh. Nhưng một khi hình ảnh được chụp và nó đi vào chế độ chỉnh sửa, bạn không thể xoay hoặc nhúm để di chuyển hoặc chia tỷ lệ ảnh.

Tôi đang thiếu gì?

+0

Tôi thấy vấn đề tương tự ở đây. và nút điều khiển âm lượng (nút chụp) không hoạt động sau khi sử dụng lớp phủ – tom

+0

Sử dụng mẹo tuyệt vời của Billy hoặc http://stackoverflow.com/questions/17942444/uiimagepicker-cameraoverlayview-appears-on-retake-screen – Fattie

Trả lời

32

Lớp phủ của bạn có chiếm toàn bộ không gian của chế độ xem máy ảnh không? Nếu vậy, chạm sẽ chuyển sang lớp phủ thay vì chế độ xem bên dưới, ngay cả khi bạn có nền trong suốt.

Thêm phương thức này vào chế độ xem lớp phủ của bạn và nó sẽ bỏ qua các lần chạm để chúng được chuyển đến các chế độ xem bên dưới. (Bạn đang trọng một phương pháp UIView phát hiện chạm.)

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

Lưu ý: cũng như tip tuyệt vời, bạn cũng có thể muốn sử dụng tác phẩm này thông tin, để loại bỏ xem lớp phủ của bạn, tại giai đoạn đó: UIImagePicker cameraOverlayView appears on Retake screen

+0

Điều đó chính xác là những gì tôi đang tìm kiếm. Cảm ơn. –

+0

Cảm ơn. Tôi không làm việc trên tính năng này nữa, vì vậy tôi đã không thử nghiệm nó trên ứng dụng của riêng tôi, nhưng tôi cho rằng đó là hunky-dory. Xin lỗi tôi đã bỏ lỡ nó trước đó! –

+0

Cảm ơn, nó đã giúp tôi rất nhiều ... –