Ich habe mehrere Orte mit Vorschlägen gelesen, wie dies zu erreichen ist. Ich ging mit dem Hinzufügen einer UI-Ansicht im Hintergrund und der Einstellung zum Deaktivieren und dann nach dem Anzeigen des Popover, Einstellung der Ansicht zu aktivieren.Swift 3 Popover Dim Hintergrund
Wie man sieht es sieht gut funktionieren:
Aber ich habe zwei Probleme. Der erste ist, sobald das Popover präsentiert wird, können Sie irgendwo auf den Hintergrund tippen, um das Popover zu schließen. Gibt es irgendwo, um dies zu verhindern? Ich nahm an, dass mein Hintergrund UIView alle Eingaben blockieren würde.
Auch nach dem Popover ist der Bildschirm immer noch dunkel. Ich habe versucht, die folgenden aber keiner von ihnen laden, nachdem die popover Entlassung so die Ansicht nie wieder deaktivieren gesetzt wird:
override func viewDidAppear(_ animated: Bool) {
dimView.isHidden = true
}
override func viewWillAppear(_ animated: Bool) {
dimView.isHidden = true
}
EDIT:
Dies ist der Code, den ich verwenden, um die popover zu präsentieren:
let popover = storyboard?.instantiateViewController(withIdentifier: "PopoverVC")
popover?.modalPresentationStyle = .popover
popover?.popoverPresentationController?.delegate = self as? UIPopoverPresentationControllerDelegate
popover?.popoverPresentationController?.sourceView = self.view
popover?.popoverPresentationController?.sourceRect = CGRect(x: self.view.bounds.midX, y: self.view.bounds.midY, width: 0, height: 0)
popover?.popoverPresentationController?.permittedArrowDirections = UIPopoverArrowDirection(rawValue: 0)
dimView.isHidden = false
self.present(popover!, animated: false)
verwendet dimView.isHidden = true in dissmiss Ansicht Controller-Ansicht erschien nicht aufgerufen –
Wie füge ich es zum popoverVC? Derzeit ist es eine Steckdose in der Hauptansicht Controller – Martheli