更改模态视图控制器的cornerRadius

Kru*_*er_ 6 cornerradius uiview ios swift

我的目标是将模态呈现的控制器的角半径增加到 25。正如您在图片中看到的,默认情况下它具有圆角,但我需要它们具有更大的半径。我尝试通过访问控制器视图来圆角,但它不起作用。

view.layer.cornerRadius = 25
Run Code Online (Sandbox Code Playgroud)

我在苹果文档中没有找到任何提及它,有什么办法让它工作吗?这可能吗?

在此输入图像描述

Max*_*ell 6

您可以通过更改呈现的视图控制器的顶视图的背景来清除隐藏演示者圆角的视图来获得效果。然后将下一个顶视图的角圆化到所需的量。


Pre*_*dea 2

你不能,这是苹果创建的自定义演示控制器,它是一个受保护/私有的 API,以符合 iOS 13 及更高版本的整个苹果生态系统的新设计标准。相反,您可以做的是创建您自己的 UIPresentationController 子类实现,然后将角圆化为您想要的任何角半径。然而,使用平移手势对 UIPresentationController 进行子类化,即使是与滚动视图的一级嵌套也能很好地交互,这是一项艰巨的任务。在你尝试覆盖默认值之前,我会先查看一些示例代码,因为这样做很快就会让你陷入混乱的黑洞,除非你精通 UIKit、Foundation 和 ios 的委托。