2016-03-19 17 views
1

У меня есть UIVisualEffectView внутри myView. myView можно перетаскивать по экрану. Кроме того, в ViewController есть изображение и UIWebView.
Над изображением все работает нормально, но когда я перетаскиваю myView над UIWebView, эффект размытия больше не работает, и myView просто выглядит как светло-серый фон и прозрачный.UIVisualEffectView не работает над UIWebView

[Результаты реального IPad Air, прошивка 9.2.1]

working blur effect
Рабочих (выше UIImage)

not working blur effect
Не работаю (выше 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) 

Любая идея, почему это происходит?
Заранее благодарим!

ответ

2

добавить это и попробовать

myView.bringSubviewToFront(blurView) 

или использовать

blurView.superview.bringSubviewToFront(blurView) 

Update

переменная создание

@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); 

enter image description here

Я добавил Sample project

+0

Нет изменений, к сожалению. – LinusGeffarth

+0

wait i проверит ответ –

+0

Прохладный, спасибо за помощь. Я ценю это. – LinusGeffarth

0

Попробуйте этот

self.view.sendSubviewToBack(UIWebView) 
+0

Нет, все еще не работает. – LinusGeffarth

Смежные вопросы