我在iOS 13中模态展示了视图控制器。根视图具有清晰的背景:
view.backgroundColor = .clear
具有白色背景的子视图具有一些顶部偏移,例如:
一切都很好,但是当我尝试通过向下滑动来消除它时,我看到了呈现的视图控制器的轻微可见阴影:
是否可以在模态演示中消除此阴影?
答案 0 :(得分:1)
我有办法给你
extension UIViewController {
func removeBackgroundForParents() {
var superview = view.superview
while superview != nil {
superview?.layer.backgroundColor = UIColor.clear.cgColor
superview?.layer.shadowColor = UIColor.clear.cgColor
superview = superview?.superview
}
}
}
并在您的视图控制器中使用它。
override func viewDidLayoutSubviews() {
super.viewDidLayoutSubviews()
removeBackgroundForParents()
}
答案 1 :(得分:0)
更新:经进一步调查,这似乎无法更改。它是iOS的私有UIKit View设置,是iOS 13中的新增功能。请参见https://developer.apple.com/videos/play/wwdc2019/224/
的19:50对于我自己的应用程序/游戏,我将寻求创建自定义UIModalPresentationStyle以实现所需的外观。
您还可以通过简单地将其呈现为.fullScreen或其他呈现样式来代替此新的工作表方法来缓解此问题。