我正在尝试使用类型为.pagesheet的模态样式将视图控制器呈现为popoverviewcontroller。在这里,我正在尝试添加一个轻拍手势识别器,以便在单击其视图外部时关闭此popoverviewcontroller。但是在iOS 9中无法检测到轻拍手势。下面是手势识别器的代码:
override func viewDidAppear(animated: Bool) {
super.viewDidAppear(animated)
let recog : UITapGestureRecognizer = UITapGestureRecognizer.init(target: self, action:#selector(HandleTap))
recog.numberOfTapsRequired = 1
recog.numberOfTouchesRequired = 1
recog.cancelsTouchesInView = false
recog.delegate = self
self.view.window?.addGestureRecognizer(recog)
}
func HandleTap(sender:UITapGestureRecognizer) -> Void
{
if(sender.state == UIGestureRecognizerState.Ended)
{
var location : CGPoint = sender.locationInView(self.presentingViewController?.view)
//var location : CGPoint = sender.locationInView(self.view?.window)
if(!(self.view.pointInside(self.view.convertPoint(location, toView: self.view?.window), withEvent: nil)))
{
self.view.window?.removeGestureRecognizer(sender)
self.dismissViewControllerAnimated(true, completion: nil)
}
}
}
handleTap
中加入打印语句,以便您知道该方法是否被调用。 - Ketan Parmar