Ich versuche, einen View-Controller als popoverviewcontroller mit modalen Stil des Typs .pagesheet zu präsentieren. Hier versuche ich, einen Tap-Gesten-Erkenner hinzuzufügen, um diesen Popover-View-Controller beim Klicken außerhalb seiner Ansicht zu schließen. Aber es ist nicht 9. Hier in iOS tap Erkennung ist der Code unter dem GestenerkennerSo verwerfen Sie das Popover View Controller auf iPad beim Antippen außerhalb der Ansicht: 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)
}
}
}
Anwenderwechsel ist bereits auf dem Blick durch .xib Datei aktiviert wird helfen. –
Wenn Sie dem Fenster Gestenerkenner hinzufügen, sollten Sie Benutzerinteraktion auf Fenster aktivieren. von .xib können Sie nur für Ansicht aktivieren – Lion
neue Lösung war auch keine Hilfe .. –