ios uiview swift ios8 uipopoverbackgroundview

ios - Cambiar UIPopoverView fondo+flecha color



uiview swift (2)

Encontré la solución. ¡Subclasificar ya no es necesario con iOS8! Se puede acceder y cambiar el fondo de esta forma desde la vista de tabla -> navegación -> popoverPresentationController

self.navigationController?.popoverPresentationController?.backgroundColor = UIColor.redColor()

Más información sobre esto en la sesión 214 de la WWDC.

¿Hay alguna manera de simplemente cambiar el color de fondo de UIPopoverView (incluida su flecha) en iOS8?

(Leí un par de artículos sobre la personalización de "UIPopoverControllers". ¿Esto se aplica aquí también, lo que significa que la respuesta es "no"?)

¿No es esto algo que debería poder abordar en el método prepareForSegue que activa el popover? ¿Cómo puedo llegar a la vista correspondiente para cambiar su apariencia?


Simplemente puedes modificar el popover de esta manera:

let popoverViewController = self.storyboard?.instantiateViewControllerWithIdentifier("popoverSegue") popoverViewController!.popoverPresentationController?.delegate = self popoverViewController!.modalPresentationStyle = .Popover let popoverSize = CGSize(width: 150, height: 60) popoverViewController!.preferredContentSize = popoverSize let popover = popoverViewController!.popoverPresentationController popover?.delegate = self popover?.permittedArrowDirections = .Up popover?.sourceView = self.view //change background color with arrow too! popover?.backgroundColor = UIColor.whiteColor() popover?.sourceRect = CGRect(x: self.view.frame.width, y: -10, width: 0, height: 0) presentViewController(popoverViewController!, animated: true, completion: nil)