churabou / iOS-develop-blog

0 stars 0 forks source link

4月18日(水) Viewのマスク #3

Open churabou opened 6 years ago

churabou commented 6 years ago

viewをマスクするのに2時間かかった。 透明と黒と逆にしたかった。 逆が全然できなかった。

        let backgroundLayer = CALayer()
        backgroundLayer.frame.size = view.bounds.size.transformBy(x: -100, y: -100)
        backgroundLayer.frame.origin = CGPoint(x: 50, y: 50)
        backgroundLayer.backgroundColor = UIColor.black.cgColor

        let maskLayer = CAShapeLayer()
        maskLayer.frame = backgroundLayer.bounds
        maskLayer.fillColor = UIColor.black.cgColor

        let path = UIBezierPath(rect: backgroundLayer.bounds)
        maskLayer.fillRule = kCAFillRuleEvenOdd
        path.append(UIBezierPath(rect: rect))
        maskLayer.path = path.cgPath

        backgroundLayer.mask = maskLayer
        view.layer.addSublayer(backgroundLayer)