安卓中,系统提供Path.op,计算两个Path的交集。
然而,iOS的UIBezierPath并没有类似的API。
如需计算两个UIBezierPath交集,用这个包就可以了。
看说明,好想要build一个static library才好使。当时我用pod引入,还发生了依赖冲突,手动删了一些类才好使。
使用体验的话,感觉这个包效率就一般般吧。如果只是为了绘制UIBezierPath交集的话,不妨采用CALayer的mask。
mask顾名思义,就是遮罩。遮罩与内容重叠的部分可以显示,不重叠的部分不显示。
// 比如绘制path1和path2的交集,可以采用如下方法
let maskLayer = CAShapeLayer() // 遮照层
maskLayer.path = path1.cgPath
let pathLayer = CAShapeLayer() // 内容层
pathLayer.path = path2.cgPath
pathLayer.mask = maskLayer
view.layer.addSublayer(pathLayer) // 内容层加入到view中