当嵌入式viewController出现在Swift中时,是否有一种模糊UIViewController的方法?

时间:2016-02-25 13:20:17

标签: ios swift uiviewcontroller

我有一个UIViewController,它包含一个按钮和嵌入的viewController。默认情况下,viewController是隐藏的,在按钮操作中,我将viewController的hidden参数更改为false:

override func viewDidLoad() {
    super.viewDidLoad()
    eventDetail.hidden = true
}

@IBAction func showButtonAction(sender: AnyObject) {
    eventDetail.hidden = false
}

当隐藏元素出现时 - 它覆盖了屏幕的某些部分。在我的故事板中它看起来像这样:

enter image description here

我想模糊剩下的部分,屏幕区域没有被出现的视图覆盖 - 可能吗?

2 个答案:

答案 0 :(得分:0)

在iOS8 +上,您可以使用UIBlurEffect。但就个人而言,我对这个图书馆有很好的体验:https://github.com/nicklockwood/FXBlurView

答案 1 :(得分:0)

您需要另一个视图,然后该视图用作背景,然后在viewDidLoad中为该视图指定模糊效果(UIVisualEffectView)。

view = UIVisualEffectView()
let lightBlur = UIBlurEffect(style: UIBlurEffectStyle.Light)
view.effect = darkBlur;

在您可以使用现有视图(白色视图)并放入前景之后。