iOS Swift: маскировка слоя с несколькими CAShapepLayer - PullRequest
0 голосов
/ 18 января 2019

Я пытаюсь объединить путь многих символов в один.

Что я сделал:

  • взять все пути символов из глифов
  • сделать массив CAShapeLayer в переводе 10pt

Что мне не хватает:

  • Слияние всех слоев CAShapeLayer в один для использования в качестве окончательной маски

    if gotGlyphs {

        var masks: [CAShapeLayer] = []
        for (i,glyph) in glyphs.enumerated() {
            let cgpath = CTFontCreatePathForGlyph(font, glyph, nil)!
            let path = UIBezierPath(cgPath: cgpath)
            let mask = CAShapeLayer()
            mask.frame = CGRect(x: 100 + 10 * i, y: 100, width: 200, height: 200)
            mask.fillColor = UIColor.clear.cgColor
            mask.strokeColor = UIColor.white.cgColor
            mask.lineWidth = 10.0
            mask.path = path.cgPath
            masks.append(mask)
        }
    
        var newMask = CAShapeLayer()
    
        for mask in masks {
    
        }
    
...