我想要我的自我。观看内容应该是可见但模糊,提出最佳方式

时间:2016-12-20 10:14:33

标签: ios swift3 xcode8 subview uiblureffect

在storyBoard中,我在视图控制器中添加了单独的UIView作为第一响应者。然后我将该视图添加为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,在storyBoard中被视为FirstResponder。

但是我的自我观点内容变得无形。我想要我的自我。在我想要显示子视图的同时,我应该变得模糊(但应该显得很模糊)。

4 个答案:

答案 0 :(得分:0)

您还可以使用visualEffectView而不是blurEffect,如下所示:

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

答案 1 :(得分:0)

我建议你

  • 1。使用清除来获取框架 self.view.bounds 的UIView(假设 myView )如 backgroundcolor
  • 2. 将imageView添加到同一帧
  • 3. 为imageView白色设置backgroundcolor,将alpha设置为接近0.7,并设置模糊效果。
  • 4. 现在将 view_Message 添加到 myView 作为SubView。
  • 5. Atlast将 myView 添加到self.view

或者您可以在故事板中使用 UIVisualEffectBlur 类,也可以通过编程方式使用iOS 8 +。

答案 2 :(得分: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)

答案 3 :(得分:-1)

检查3D视图。似乎你的ImageView是在所有视图之上。这将隐藏您背后的所有观点。

尝试

self.view.sendSubviewToBack(imageView)

最后,这将在后面发送imagview,您的所有子视图都将可见。