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)