【发布时间】:2019-09-26 13:04:46
【问题描述】:
我已经在 iOS >=13 中展示了视图控制器。根视图具有清晰的背景:
view.backgroundColor = .clear
白色背景的子视图有一些顶部偏移,如下所示:
一切正常,但是当我尝试通过向下滑动将其关闭时,我看到呈现的视图控制器的阴影略微可见:
是否可以在模态演示中消除这种阴影?
【问题讨论】:
标签: ios uiviewcontroller ios13
我已经在 iOS >=13 中展示了视图控制器。根视图具有清晰的背景:
view.backgroundColor = .clear
白色背景的子视图有一些顶部偏移,如下所示:
一切正常,但是当我尝试通过向下滑动将其关闭时,我看到呈现的视图控制器的阴影略微可见:
是否可以在模态演示中消除这种阴影?
【问题讨论】:
标签: ios uiviewcontroller ios13
更新:经过进一步调查,这似乎不是可以改变的。这是 iOS 的私有 UIKit View 设置,是 iOS 13 中的新增功能。见 19:50 https://developer.apple.com/videos/play/wwdc2019/224/
对于我自己的应用/游戏,我将寻求创建一个自定义 UIModalPresentationStyle 来实现我想要的外观。
您也可以通过简单地呈现为 .fullScreen 或其他呈现样式而不是这种新的工作表方法来缓解这种情况。
【讨论】:
我有办法给你
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()
}
【讨论】: