2016-12-20 44 views
0

在storyBoard中,我添加了單獨的UIView作爲視圖控制器中的第一響應者。然後,我將該視圖添加爲self.view的子視圖。但是我希望self.view在顯示子視圖時應該模糊。我怎樣才能做到這一點?我希望我的self.view內容應該是可見的,但模糊,建議最好的方式

我試圖通過施加

let imageView = UIImageView(image: UIImage(named: "blur2.jpg")) 
imageView.frame = self.view.bounds 
imageView.contentMode = .scaleAspectFit 
self.view.addSubview(imageView) 
let blurEffect = UIBlurEffect(style: .regular) 
let blurredEffectView = UIVisualEffectView(effect: blurEffect) 
blurredEffectView.frame = imageView.bounds 
self.view.addSubview(blurredEffectView) 


self.view.addSubview(view_Message) 
view_Message.center = self.view.center 
view_Message.alpha = 1 
view_Message.layer.cornerRadius = 0.3 
view_Message.transform = CGAffineTransform.init(scaleX: 1.3, y: 1.3) 

view_Message是UIView的將其作爲FirstResponder在情節串連圖板。

但我的self.view內容不可見。我希望我的self.view應該會變得模糊(但應該稍微顯示),同時我希望顯示我的子視圖。

+0

嘗試使用blurEffectView.alpha減少模糊= 0.5 – Amanpreet

回答

0

我建議你

  • 取一個UIView(讓說MyView的)框架自我.view.bounds明確作爲backgroundcolor
  • 2.添加的ImageView進去同一幀
  • 3.組的backgroundColor爲ImageView的白色,α-近0.7的,和模糊效果。
  • 4.現在添加您的view_MessageMyView的作爲子視圖。
  • 5. Atlast添加MyView的到self.view

,或者您可以通過使用UIVisualEffectBlur類無論是在故事板或以編程方式適用於iOS 8+去。

+0

這篇文章將解決你的問題https://www.raywenderlich.com/84043/ios-8-visual-effects-tutorial – Jagdeep

-1

查看3D視圖。看起來你的ImageView是所有視圖中的首選。這會隱藏你的所有觀點。

末嘗試

self.view.sendSubviewToBack(imageView) 

,這將發送imagview在後面的所有子視圖將是可見的。

+0

這是工作,但駁回子視圖(view_Message)後,相互影響是行不通的。沒有UIevents正在觸發(即使我寫isUserInteractionenabled = true –

+0

,這是因爲你正在發送視圖在後面,它發回它在視圖堆棧禁用交互..你也可以嘗試把它放在前面解僱子視圖 – Jagdeep

+0

Jagdeep可能我知道它爲什麼downvoted? –

0

您還可以使用visualEffectView而非blurEffect這樣的:

let visualEffectView = UIVisualEffectView(effect: UIBlurEffect(style: .light)) 
visualEffectView.frame = view.bounds 
visualEffectView.alpha = 0.7 
self.view.addSubview(visualEffectView) 
0

你可以這樣做

 let frame = CGRectMake(0, 0, self.view.frame.size.width,self.view.frame.size.height) 
     blurview = UIView.init(frame: frame) 
     blurview.backgroundColor = UIColor.blackColor() 
     blurview.layer.opacity = 0.5 
     self.view.addSubview(blurview) 
相關問題