小编Moh*_*oys的帖子

使用蒙版时,阴影不适用于UIViewLayer

我已经使用UIBezierPath在左上角和右上角实现了一个带圆角矩形的UIView.但之后,当我向视图添加阴影时,它不会显示阴影.如果我只是删除bezier圆角,那么阴影效果非常好.但现在只有圆角出现没有任何阴影.这是我的代码

override func drawRect(rect: CGRect)
{
    super.drawRect(rect)

    let shapeLayer : CAShapeLayer = CAShapeLayer(layer: centerView.layer)
    shapeLayer.path = UIBezierPath(roundedRect: centerView.layer.bounds, byRoundingCorners: UIRectCorner.TopRight|UIRectCorner.TopLeft, cornerRadii: CGSizeMake(15,15)).CGPath
    centerView.layer.mask = shapeLayer

    centerView.layer.masksToBounds = false

    centerView.layer.shadowOffset = CGSizeMake(0,-2)
    centerView.layer.shadowRadius = 0.5
    centerView.layer.shadowOpacity = 0.7
    centerView.layer.shadowColor = UIColor(red: 0.867, green: 0.867, blue: 0.867, alpha: 1).CGColor
    centerView.layer.shadowPath =  UIBezierPath(roundedRect: centerView.layer.bounds, byRoundingCorners: UIRectCorner.TopRight|UIRectCorner.TopLeft, cornerRadii: CGSizeMake(15,15)).CGPath
}
Run Code Online (Sandbox Code Playgroud)

这里我覆盖了UITableViewCell的drawRect,而centerView是它的子视图.此外,我尝试为中心视图子类化UIView,这似乎也不起作用.

CALayer的mask属性和maskToBounds属性是否相互冲突?

calayer dropshadow ios quartz-core swift

0
推荐指数
1
解决办法
771
查看次数

标签 统计

calayer ×1

dropshadow ×1

ios ×1

quartz-core ×1

swift ×1