Маскировка UIPickerView не имеет никакого эффекта - PullRequest
0 голосов
/ 26 марта 2019

Я убедился, что слой маски находится в правильном положении, добавив его в мой контроллер вида (закомментированная строка). Тем не менее, он выглядит черным, хотя цвет фона определяется красным цветом. В дополнение к этому, правило заполнения evenOdd, похоже, не выполняется, так как я получаю прямоугольник поверх filterSelection, а не наоборот. Наконец, filterSelection (UIPickerView) за пределами maskLayer по-прежнему появляется, поэтому маска не имеет никакого эффекта.

    guard let BG = filterSelectionBG else { return }
    let maskLayer = CAShapeLayer()
    maskLayer.backgroundColor = UIColor.red.cgColor
    let path = CGMutablePath()
    path.addRect(filterSelection.bounds)
    path.addRect(BG.frame)

    maskLayer.path = path
    maskLayer.fillRule = .evenOdd
    //self.view.layer.addSublayer(maskLayer)
    filterSelection.layer.mask = maskLayer
...