我在我的应用中显示UIPopoverView
,我希望它具有透明色,但没有任何模糊效果。如果我设置了popoverPresentationController.backgroundColor = UIColor.clear
,我可以看到模糊效果就在那里,即使没有颜色。
有人知道如何消除模糊效果吗?
如果有帮助,请参阅我的prepareForSegue:
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if segue.identifier != nil {
if segue.identifier! == "toSetTags" {
if let destination = segue.destination as? SetTagsViewController {
if let controller = destination.popoverPresentationController {
destination.preferredContentSize = CGSize(width: self.view.bounds.width, height: self.view.bounds.height / 2)
controller.barButtonItem = self.navigationItem.rightBarButtonItem
controller.backgroundColor = UIColor.clear
controller.permittedArrowDirections = .any
controller.delegate = self
}
}
}
}
}
答案 0 :(得分:1)
试试这个:
popoverPresentationController.contentViewController.view.alpha = 0
答案 1 :(得分:0)
请将代码添加到AppDelegate.swift文件或应用初始化的任何位置。
let appearance = UIVisualEffectView.appearance(whenContainedInInstancesOf: [NSClassFromString("_UIPopoverStandardChromeView")! as! UIAppearanceContainer.Type])
appearance.effect = UIVisualEffect()