1

我有一个UIVisualEffectView内幕myViewmyView可以在屏幕上拖动。UIWebView此外,在 ViewController 中有一个图像和一个。
在图像上方一切正常,但是当我myView在 上方拖动时UIWebView,模糊效果不再起作用,myView只是看起来它具有浅灰色背景并且是透明的。

[来自真实 iPad Air、iOS 9.2.1 的结果]

工作模糊效果
工作(上UIImage

不工作的模糊效果
不工作(上UIWebView

这就是我创建模糊效果的方式:

let blurView = UIVisualEffectView(effect: UIBlurEffect(style: .ExtraLight))
blurView.frame.size = CGSizeMake(navView.frame.width, navView.frame.height)
blurView.layer.cornerRadius = navView.layer.cornerRadius
blurView.clipsToBounds = true

let vibrancyView = UIVisualEffectView()
vibrancyView.frame = blurView.frame
vibrancyView.effect = UIVibrancyEffect(forBlurEffect: blurView.effect as! UIBlurEffect)
vibrancyView.layer.cornerRadius = blurView.layer.cornerRadius

blurView.contentView.addSubview(vibrancyView)
vibrancyView.contentView.addSubview(left)
vibrancyView.contentView.addSubview(right)
myView.addSubview(blurView)

知道为什么会这样吗?
提前致谢!

4

2 回答 2

2

添加这个并尝试

myView.bringSubviewToFront(blurView)

或使用

blurView.superview.bringSubviewToFront(blurView)

更新

变量创建

@IBOutlet var webview: UIWebView!

代码

  let blurView = UIVisualEffectView(effect: UIBlurEffect(style: .ExtraLight))
    blurView.frame.size = CGSizeMake(200, 200)
    blurView.layer.cornerRadius = 25
    blurView.clipsToBounds = true

    let vibrancyView = UIVisualEffectView()
    vibrancyView.frame = blurView.frame
    vibrancyView.effect = UIVibrancyEffect(forBlurEffect: blurView.effect as! UIBlurEffect)
    vibrancyView.layer.cornerRadius = blurView.layer.cornerRadius

    blurView.contentView.addSubview(vibrancyView)
   // vibrancyView.contentView.addSubview(left)
    //vibrancyView.contentView.addSubview(right)
    webview.addSubview(blurView)

    let myURL = NSURL(string: "http://www.swiftdeveloperblog.com");
    let myURLRequest:NSURLRequest = NSURLRequest(URL: myURL!);
    webview.loadRequest(myURLRequest);

在此处输入图像描述

我添加了示例项目

于 2016-03-19T08:30:04.757 回答
0

尝试这个

self.view.sendSubviewToBack(UIWebView)
于 2016-03-19T08:44:41.097 回答