Ich weiß, ich kann popoverPresentationControllerDidDismissPopover
verwenden, aber das wird nur aufgerufen, wenn der Benutzer außerhalb der Popover-Ansicht tippt, um es zu entlassen. Wenn ich das Popover manuell verlasse (self.dismissViewControllerAnimated(true, completion: nil)
im ViewController des Popover) passiert nichts.Detect Popover entlassen
2
A
Antwort
1
Popover Dismiss!
Es gibt zwei Möglichkeiten, Popover-Fehlanzeige zu erkennen: 1. Detecting in mainViewController, wo es tatsächlich generiert wurde, meine ich ParentViewController.
die parent als Haupterzeugungs Mit persönlichem
class ViewController: UIViewController, UITableViewDataSource,
UITableViewDelegate, UIPopoverPresentationControllerDelegate {
und Umsetzung jetzt dieser Funktion
func adaptivePresentationStyle(for controller: UIPresentationController) -> UIModalPresentationStyle {
return .none
}
func popoverPresentationControllerDidDismissPopover(_ popoverPresentationController: UIPopoverPresentationController) {
print("Popover dismisssed")
}
in der Steuerung Erkennung verwendet, um hand popOverView gemacht im Storyboard.
func dismiss() { self.dismiss(animated: true, completion: nil) print("DISMISSS") } @IBAction func cancelClicked(_ sender: Any) { dismiss() }
HINWEIS: Storyboards können Sie weitere Details fragen.
+0
Es funktionierte auch für mich. –
Sie können immer eine neue Funktion erstellen, die den Code enthält, den Sie ausführen müssen, und sie in 'popoverPresentationControllerDidDismissPopover' aufrufen und' self.dismissViewControllerAnimated (true, completion: nil) 'aufrufen. –
Ich kann nicht, weil ich den Code im View-Controller unter dem Popover ausgeführt werden muss und wenn ich versuche, das aus dem Popover zu tun, erhalte ich einen Fehler, weil er ein IBOutlet im ersten View-Controller referenziert, der beim Popover gleich null ist ist aktiv. Ich hoffe, Sie können verstehen, was ich meine – Pixel
Dies verwirrte mich auch für ein bisschen, aber der Beispielcode bei http://StackOverflow.com/A/32021691/708928 mit Delegierten war aufschlussreich und nützlich für die Lösung dieses Problems. – Logg