2017-03-03 26 views
0

我想將UITapGestureRecogniser添加到我爲UIImagePickerController創建的疊加視圖中。但是沒有檢測到水龍頭。以下是我的代碼:如何在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) 

如果我添加了手勢識別器到imagePicker.view那麼部分相機進行控制是檢測水龍頭,但不預覽窗口。以下是我的功能檢測水龍頭:

func cropImageAroundTap(sender: UITapGestureRecognizer) { 

    if sender.state == .ended { 

     NSLog("hello") 
    } 

} 

有沒有辦法檢測預覽窗口上的點擊?

+0

嘗試使用的子視圖sender.view –

+0

問題是選擇器cropImageAroundTap甚至沒有被調用。 –

回答

0

我能夠檢測圖像拾取的預覽視圖的輕敲姿勢時,而不是設置:

imagePicker.cameraOverlayView = overlayView 

我加了OverlayView的作爲imagePicker

imagePicker.view.addSubview(overlayView)