为什么视图的阴影被创建为内部



我尝试创建视图的标准阴影,我将其创建为 cell.contantView 的子视图,但是如果我不指定 .shadowPath,阴影将应用于视图中的其他项目(视图除外(,或者如果我这样做,阴影将创建为内部。

cell.cellView.frame = CGRect(x: 0.0, y: 0.0, width: cell.contentView.bounds.width, height: initialCellHeight)
cell.cellView.layer.shadowColor = UIColor.black.cgColor
cell.cellView.layer.shadowRadius = 2
cell.cellView.layer.shadowOffset = CGSize.zero
cell.cellView.layer.shadowOpacity = 1
cell.cellView.layer.masksToBounds = false
cell.cellView.layer.shadowPath = UIBezierPath(rect: cell.cellView.bounds).cgPath
cell.contentView.addSubview(cell.cellView)

请帮忙,我花了一整天的时间试图解决这个问题。

^ 您可以添加和 UIView 具有您的单元格的所有子视图

^ 然后在前一个UIView下添加另一个UIView,仅用于Shadow 如。阴影层

cell.shadowLayer.layer.masksToBounds = false
cell.shadowLayer.layer.shadowOffset = CGSizeMake(0, 0)
cell.shadowLayer.layer.shadowColor = UIColor.blackColor().CGColor
cell.shadowLayer.layer.shadowOpacity = 0.23
cell.shadowLayer.layer.shadowRadius = 4

最新更新