2017-03-03 2 views
0

UIImagePickerController에 대해 만든 오버레이보기에 UITapGestureRecogniser를 추가하려고합니다. 그러나 탭이 감지되지 않습니다. 내가 카메라 컨트롤을했다 후 imagePicker.view 부분에 제스처 인식기를 추가하면 탭이 아닌 미리보기 창을 감지ImagePickerController()의 오버레이보기에서 TapGesture를 인식하는 방법은 무엇입니까?

//Setting up image picker controller 
let imagePicker = UIImagePickerController() 
imagePicker.delegate = self 
imagePicker.sourceType = .camera 
imagePicker.showsCameraControls = false 

//Setting up the tap gesture 
let tapGesture = UITapGestureRecognizer(target: self, action: #selector(self.cropImageAroundTap(sender:))) 
tapGesture.delegate = self 

//Setting up overlay view 
let overlayView = UIView.init(frame: self.view.frame) 
overlayView.isOpaque = false 
overlayView.isUserInteractionEnabled = true 
overlayView.backgroundColor = UIColor.clear 
overlayView.addGestureRecognizer(tapGesture) 

imagePicker.cameraOverlayView = overlayView 
self.present(imagePicker, animated: true, completion: nil) 

: 다음은 내 코드입니다. 다음은 탭 감지 기능입니다.

func cropImageAroundTap(sender: UITapGestureRecognizer) { 

    if sender.state == .ended { 

     NSLog("hello") 
    } 

} 

미리보기 창에서 탭을 감지하는 방법이 있습니까?

imagePicker.cameraOverlayView = overlayView 

내가 imagePicker

imagePicker.view.addSubview(overlayView) 
+0

사용하는 시도의 서브 뷰로 수 있도록 OverlayView를 추가 : 설정시 대신 –

+0

cropImageAroundTap이 호출되지 않는 경우에도 문제가 발생합니다. –

답변

0

나는 이미지 피커의 미리보기에서 탭 제스처를 감지 할 수 있었다 sender.view
관련 문제