开发者社区 问答 正文

如果对一个CALayer图层或者UIView视图中间镂空

一个背景黑色50%透明,中间镂空一个全透明的区域该怎么弄?

展开
收起
a123456678 2016-07-27 16:59:18 2590 分享 版权
1 条回答
写回答
取消 提交回答
  • 绘制View的时候用layer.mask给layer加个图片蒙版(可以做一张灰白图片,黑色显示,白色不显示,灰色代表半透明)。

    let path = UIBezierPath(rect:self.view.bounds)
    
        path.appendPath(UIBezierPath(rect: CGRect(x: 100, y: 100, width: 200, height: 300)).bezierPathByReversingPath())
        let shape = CAShapeLayer()
        
        shape.path = path.CGPath
        
        blurView.layer.mask = shape
    2019-07-17 20:00:53
    赞同 展开评论
问答地址: