【发布时间】:2016-08-21 14:05:17
【问题描述】:
我正在尝试使用 .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)
}
}
}
【问题讨论】:
标签: ios swift ipad ios9 uigesturerecognizer