ios - 更改从 Swift 中的 Storyboard创建的弹出窗口的箭头颜色

标签 ios swift popover

我正在尝试通过按钮更改定义为 Storyboard转场(不是以编程方式构建)的弹出窗口的默认弹出窗口箭头颜色。下图为白色默认弹出框箭头:

enter image description here

当我添加

navigationController?.popoverPresentationController?.backgroundColor = myNavBarColor

到popover中呈现的UIViewControllerviewWillAppear方法,结果如下:

enter image description here

UIViewControllerprepareForSegue 方法中为 UIPopoverPresentationController 定义一个新的 UIPopoverBackgroundView 类是“太晚了”。

我希望有一个简单的修复程序(使用与 popover 相同的 Storyboard segue)来解决这样一个常见问题。

最佳答案

设置 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)

关于ios - 更改从 Swift 中的 Storyboard创建的弹出窗口的箭头颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36883602/

相关文章:

ios - 您可以在 iTunes 应用商店中为您的客户以他的名义发布应用程序吗?

ios - 如何从 didSelectRowAtIndexPath 中关闭 popoverview

ios - 禁用编辑但允许继续快速输入

objective-c - 如何将 QLPreviewPanel 显示为 cocoa 中的弹出窗口?

javascript - 在 map 函数中使用三元运算符会呈现两个结果

ios - 相当于 UIViewController 的 ContentInset?

ios - UIButton 以编程方式在 UITableView 的一部分中创建,以隐藏/显示该部分的内容

iphone - 为什么我们在 iOS 方法名前加上 '+' 或 '-' 符号

swift - iOS 图表库 - 如何处理 X 轴重复值

swift - CollectionView传递数据