ios - how - uinavigationcontroller title background color




Изменение фона UIPopoverView+цвет стрелки (2)

Есть ли способ просто изменить цвет фона UIPopoverView (включая его стрелку) на iOS8?

(Я прочитал пару статей по настройке «UIPopoverControllers». Это тоже относится к этому вопросу, то есть ответ «нет»?)

Разве это не то, что я должен уметь решать в методе prepareForSegue, запускающем popover? Как я могу достичь соответствующего представления, чтобы изменить его внешний вид?


Вы можете просто изменить popover следующим образом:

    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)

Я нашел решение. Подкласс не нужен больше с iOS8! Фон может быть доступен и изменен таким образом изнутри tableview -> navigation -> popoverPresentationController

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

Дополнительная информация об этом на сессии WWDC 214.





uipopoverbackgroundview