我正在使用UIPopoverPresentationController实现一个popover视图。

问题是,在默认情况下,对于控制器,我有一个半径很大的阴影。
我想要禁用这个-覆盖。
我试过:

我相信这是一个默认的行为,显示一个覆盖在一个弹出框后面。
怎么才能让这个失效?
发布于 2018-01-30 17:22:32
如果您仔细查看视图层次结构,您将注意到影子层_UIMirrorNinePatchView是UITransitionView的子层,与UIPopoverView相同-两者都在相同的级别上。
在这种情况下,您可以尝试像这样隐藏这个子层:
override func viewDidLayoutSubviews() {
super.viewDidLayoutSubviews()
if let shadowLayer = UIApplication.shared.windows.first?.layer.sublayers?[1].sublayers?[1] {
shadowLayer.isHidden = true
}
}确保将其隐藏在viewDidLayoutSubviews中,以避免与缺少子层或子层闪烁相关的异常。
https://stackoverflow.com/questions/48399515
复制相似问题