相关疑难解决方法(0)

带有遮罩层的UIVisualEffectView

我试图模糊MKMapView,同时在它上面显示一个圆形面具.为了更好地形象化我的意思,您可以找到我当前所附状态的图像:

当前状态

这显示了我想要的几乎,但背景(地图)应该模糊,这不是这张图片中的情况.我尝试使用UIVisualEffectView,但似乎我在那里做错了.这是我尝试过的:

func createOverlay(at: CGPoint) {
    var blur: UIView!
    blur = UIVisualEffectView (effect: UIBlurEffect (style: UIBlurEffectStyle.dark))

    blur.frame = self.mapView.frame
    blur.isUserInteractionEnabled = false
    self.mapView.addSubview(blur)

    let circleSize: CGFloat = 200

    let path = UIBezierPath (
        roundedRect: blur.frame,
        cornerRadius: 0)

    let circle = UIBezierPath (
        roundedRect: CGRect (origin: CGPoint(x:at.x - circleSize/2, y: at.y-circleSize/2),
                             size: CGSize (width: circleSize, height: circleSize)), cornerRadius: circleSize/2)

    path.append(circle)
    path.usesEvenOddFillRule = true

    let maskLayer = CAShapeLayer()
    maskLayer.path = path.cgPath
    maskLayer.fillRule = kCAFillRuleEvenOdd

    let borderLayer = CAShapeLayer()
    borderLayer.path = circle.cgPath
    borderLayer.strokeColor …
Run Code Online (Sandbox Code Playgroud)

ios swift uivisualeffectview

15
推荐指数
1
解决办法
4689
查看次数

标签 统计

ios ×1

swift ×1

uivisualeffectview ×1