iOS 在第一个视图控制器中模糊视图

iOS Blur View in first view Controller

如何在 iOS 应用程序的第一个视图控制器上创建模糊视图?就像 Xcode 在导航器中模糊桌面背景的模糊视图一样,我最近认识到 Apple 的 'Remote' 应用程序在 iOS 上做同样的事情(应用程序的背景是模糊背景图片)。使用 public API 是否可以以任何方式实现?用 UIBlurView 替换 UIView 只会产生灰色背景...

在您的视图下方添加:(PS:我只知道 obj-C 版本)

myView.backgroundColor = [UIColor clearColor];
UIToolbar* bgToolbar = [[UIToolbar alloc] initWithFrame:myView.frame];
bgToolbar.barStyle = UIBarStyleDefault;
[myView.superview insertSubview:bgToolbar belowSubview:myView];

UIVisualEffectView in iOS 当你在模拟器或设备中 运行 你的项目时会给你模糊效果否则在情节提要中它将显示为带有灰色背景的简单 UIView...

你需要运行它然后它会产生真正的模糊效果。

看看下面的图片 以便更好地理解。

在这里发表评论或回答的人似乎都没有意识到您想模糊用户自己的墙纸并将其用作根视图控制器的背景,就像在 Apple 自己的应用程序(例如 Remote)中实现的那样。

虽然在 iOS 的早期版本中可能可行,但目前 not possible to achieve this effect in your own app 使用 public API。

您可以简单地在 UIImageView 的顶部添加一个 UIBlurEffectView - 通过如下所示的模糊视图,图像视图将是可见的、模糊的:

let blurEffect = UIBlurEffect(style: UIBlurEffectStyle.Dark)
let blurView = UIVisualEffectView(effect: blurEffect)
blurView.frame = yourFrame
imageView.addSubview(blurView)

您也可以使用 blurView.removeFromSuperview() 删除 blurView 或者将其隐藏 blurView.hidden = true