Как достичь непрозрачности в форме, нарисованной в слое UIView, который является подвидом UIImageView? - PullRequest
0 голосов
/ 16 сентября 2018

У меня есть изображение, представленное в UIImageView, которое занимает весь вид UIViewController. Я хотел бы нарисовать circle(fill: yellow) в слое подпредставления (UIView) этого UIImageView. Моя проблема заключается в следующем: как сделать непрозрачность этого желтого круга такой, чтобы он мог видеть сквозь фоновое изображение (например, непрозрачность 0,2). Я попробовал следующее без успеха. Все, что я получаю, это сплошной желтый круг поверх фонового изображения. Мне нужно, чтобы этот желтый круг находился в слое подвида, как описано, а не в слое UIImageView.

let dotSize: CGFloat = 30
var fourthDotView: UIView?
@IBOutlet weak var imgPreViewOutlet: UIImageView!

override func viewDidLoad() {
    super.viewDidLoad()

    fourthDotView = UIView.init()
    fourthDotView?.frame = CGRect.init(x: fourthOrigin.x, y: fourthOrigin.y, width: dotSize, height: dotSize)

    drawFourthDot()
    imgPreViewOutlet.addSubview(fourthDotView!)

}



// DRAW YELLOW CIRCLE
func drawFourthDot() -> Void {
    let layer = CAShapeLayer.init()
    layer.path = UIBezierPath.init(roundedRect: fourthDotView!.bounds, cornerRadius: 50).cgPath
    layer.fillColor = UIColor.init(red: 255, green: 255, blue: 0, alpha: 0.2).cgColor
    fourthDotView?.layer.addSublayer(layer)
}

1 Ответ

0 голосов
/ 16 сентября 2018

Для установки непрозрачности следует использовать свойство opacity.

layer.opacity = 0.20
...