2017-07-19 3 views
0

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:

enter image description here

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) 
+0

verwendet dimView.isHidden = true in dissmiss Ansicht Controller-Ansicht erschien nicht aufgerufen –

+0

Wie füge ich es zum popoverVC? Derzeit ist es eine Steckdose in der Hauptansicht Controller – Martheli

Antwort

0

ich weiß, dass, dimView nicht in PopoverVC ist, es in PopoverVC hinzufügen und behandeln entlassen, wenn Hahn auf it.After die popover viewDidAppear und viewWillAppear entlassen wird nicht aufgerufen werden. Ihr Bildschirm ist immer noch verschwommen. Wenn Sie dimView in Popover hinzufügen, hoffe, Sie können diese Probleme lösen

+0

Wie füge ich es in den popoverVC? Derzeit ist es eine Steckdose in der Hauptansicht Controller. – Martheli

Verwandte Themen