我有一个UIPickerView。我想对其进行遮罩,以使其不会在背景图层的边界之外显示压缩的单词,您可以在左右两侧看到它:
我尝试使用CAShapeLayer对其进行遮罩,但是它改为删除了UIPickerView中的所有文本:(忽略米色;这正是相机要拾取的颜色)
为确保我的CAShapeLayer尺寸和形状正确,我将其添加为图层并注释掉了蒙版:
正如我所料,CAShapeLayer的大小正确且位置正确。
因此,我想到了一个问题:我的代码有什么问题? BG是背景层。 filterSelection是UIPickerView。
guard let BG = filterSelectionBG else { return }
let maskLayer = CAShapeLayer()
maskLayer.backgroundColor = UIColor.red.cgColor
maskLayer.fillColor = UIColor.red.cgColor
let path = CGMutablePath()
path.addRect(BG.frame)
maskLayer.path = path
filterSelection.layer.mask = maskLayer