如何使用CAShapeLayer屏蔽UIPickerView

时间:2019-06-17 21:14:11

标签: swift uipickerview mask cashapelayer

我有一个UIPickerView。我想对其进行遮罩,以使其不会在背景图层的边界之外显示压缩的单词,您可以在左右两侧看到它:

UIPickerView

我尝试使用CAShapeLayer对其进行遮罩,但是它改为删除了UIPickerView中的所有文本:(忽略米色;这正是相机要拾取的颜色)

Masked UIPickerView

为确保我的CAShapeLayer尺寸和形状正确,我将其添加为图层并注释掉了蒙版:

enter image description here

正如我所料,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

0 个答案:

没有答案
相关问题