iOS:如何在多个UIView/UIViewController之间投射阴影
注意:我对如何在UIView上绘制阴影不感兴趣。这已经完成,代码如下所示 我有一个包含一系列部分的iOS:如何在多个UIView/UIViewController之间投射阴影,ios,iphone,swift,uikit,Ios,Iphone,Swift,Uikit,注意:我对如何在UIView上绘制阴影不感兴趣。这已经完成,代码如下所示 我有一个包含一系列部分的UITableView 每个部分都有自己的ui视图作为标题视图 每个部分都有一个单元格,该单元格已嵌入UIViewController(控制器的UIView,但这是实现细节,因为没有内容的正常单元格也会出现同样的问题) 该单元具有投射阴影的内部视图,具有一个大的模糊参数:24 结构看起来是这样的 UITableView -> HeaderView -> TableViewCell --&
UITableView
每个部分
都有自己的ui视图
作为标题视图
每个部分
都有一个单元格,该单元格已嵌入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
问题:
阴影在视图/单元格中绘制,但不在其他标题/单元格上绘制
我认为这是正常的行为
我想把阴影投射到牢房外面
cliptobund
和maskToBound
已设置为false(作为每个UIView的默认值)
它当前的样子:
您可以看到阴影是在单元格的末尾剪裁的,而不是在单元格之前或之后的节标题上绘制的
我正在努力实现的目标:
我希望阴影落在单元格的边界上,并分布在其余的UIView上,即使公共祖先只是UITableView
注释:
我无法减小模糊半径以适应单元格帧。我需要有那么大
阴影的代码通常是:
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
它是否仅被节标题剪切?我想知道你是否可以用一个清晰的背景来制作章节标题,以允许阴影在其后面。@Joshrach作为一个实验,我移除了
tableView
one之外的所有背景。所以一切都很清楚。阴影还是被剪掉了。我怀疑这可能是由于tableView中视图的顺序造成的,但从检查器的角度看,单元格和部分似乎位于同一级别。它们只是不同的实体,UIKit似乎无法“遮住”阴影