我试图更改默认的弹出框箭头颜色,该弹出框定义为故事板segue(不是以编程方式构建)从按钮开始。下图显示了白色默认弹出箭头:
当我添加
navigationController?.popoverPresentationController?.backgroundColor = myNavBarColor
到popover中显示的viewWillAppear
的{{1}}方法,结果如下:
在主UIViewController
的{{1}}方法中为UIPopoverBackgroundView
定义新的UIPopoverPresentationController
课程为#34;太晚了"。
对于这样一个常见问题,我希望能有一个简单的解决方案(与popover相同的故事板)。
答案 0 :(得分:1)
设置viewController的popoverPresentationController的背景颜色:
let viewController = YOUR_VIEW_CONTROLLER
viewController.modalPresentationStyle = .popover
if let presentation = viewController.popoverPresentationController {
presentation.backgroundColor = UIColor.white
}
present(viewController, animated: true, completion: nil)
答案 1 :(得分:0)
你也可以在popoverPresentationController里面的视图中设置它
override func viewDidLoad()
{
super.viewDidLoad()
popoverPresentationController?.backgroundColor = view.backgroundColor
}