2016-04-27 4 views
4

Ich versuche, die Standard-popover Pfeil Farbe für eine popover als Storyboard Segue (nicht gebaut programmatisch) von einer Schaltfläche eingestellt worden ist. Das folgende Bild, um die weißen Standard-popover Pfeil zeigt:ändern Pfeilfarbe für popover von Storyboard in Swift erstellt

enter image description here

Als ich

navigationController?.popoverPresentationController?.backgroundColor = myNavBarColor 

zum viewWillAppear Verfahren des in der popover präsentiert UIViewController hinzufügen, ist das Ergebnis folgendes:

enter image description here

Definieren einer neuen UIPopoverBackgroundView Klasse für die UIPopoverPresentationController während der prepareForSegue Methode des Haupt UIViewController ist „zu spät“.

Ich hoffe, es werde eine einfache Lösung sein (mit dem gleichen Drehbuch Segue als popover) für ein solches gemeinsames Problem.

+3

die Hintergrundfarbe in 'prepareForSegue' Set. So wie 'segue.destinationViewController.popoverPresentationController.backgroundColor'. – gabbler

+0

Es funktioniert für mich, vielen Dank! ;) – horothesun

+0

Gern geschehen. – gabbler

Antwort

0

die Hintergrundfarbe des popoverPresentationController Ihres Viewcontroller Set:

let viewController = YOUR_VIEW_CONTROLLER 
viewController.modalPresentationStyle = .popover 
if let presentation = viewController.popoverPresentationController { 
    presentation.backgroundColor = UIColor.white 
} 
present(viewController, animated: true, completion: nil)