iOS:如何在多个UIViews / UIViewControllers之间投射阴影

时间:2018-12-18 14:19:10

标签: ios iphone swift uikit

注意:我对如何在UIView上绘制阴影不感兴趣。已经完成,代码也显示在下面。

我有一个UITableView,其中包含一系列部分。

每个Section都有自己的UIView作为HeaderView

每个Section都有一个单元格,该单元格嵌入在UIViewController(控制器的UIView)内部,但这是实现细节,因为在没有单元格的普通单元格中也会出现相同的问题内容)

单元格具有一个内部视图,该视图投射了阴影,并带有较大的模糊参数:24

结构看起来像这样

UITableView
-> HeaderView
-> TableViewCell
--> View With Shadow with Blur 24
-> HeaderView
-> TableViewCell
--> View With Shadow with Blur 24
-> HeaderView
-> TableViewCell
--> View With Shadow with Blur 24

问题:

阴影绘制在视图/单元格中,但不覆盖其他页眉/单元格。

我会说这是正常的行为。

我想将阴影投射到单元格的边界之外。

clipToBoundmaskToBound已设置为false(每个UIView的默认设置)

当前外观

您可以看到阴影被剪切在单元格的末尾,并且未在单元格之前或之后的节标题上绘制

problemImage

我要实现的目标

即使公共祖先只是UITableView

,我也希望阴影覆盖单元格的边界并扩散到其余的UIviews上

toachieve

注释

我无法减小模糊半径以适合“像元”框架。我需要那么大。

阴影的代码是通常的:

shadowView.backgroundColor = UIColor.clear
shadowView.layer.shadowColor = profileShadowColor.cgColor
shadowView.layer.shadowOffset = CGSize(width: 0, height: 6)
shadowView.layer.shadowOpacity = 0.25
shadowView.layer.shadowRadius = 20

0 个答案:

没有答案