1

我正在尝试实现我的 UIViewController 的过渡,其中非常简单地稍微缩小并模糊,使其在背景中褪色。我查看了很多解决方案,但找不到任何关于模糊的具体内容。

目前我只是在使用父视图控制器的屏幕并在子视图中设置动画。

Tweetbot 3 和 Pinterest 等应用程序是值得注意的应用程序,请参阅此处的屏幕截图,这正是我的意思:

在此处输入图像描述

我正在努力让它顺利模糊。有关如何实现此效果的任何建议?

4

1 回答 1

1

iOS 7 解决方案:

您可以在 UIImageView 中显示它并放置在其他 UIView 之上。过去,我在CALayer中使用了renderInContext。

UIGraphicsBeginImageContext(self.view.bounds.size);
[self.view drawViewHierarchyInRect:self.view.bounds];
UIImage *blurImg = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();

捕获 UIView 屏幕截图后,应用模糊效果。不幸的是,目前还没有可用于模糊效果的公共 API,但 Apple 在示例代码中提供了示例实现。它是 UIImage 的类别。请在 Xcode 文档中搜索示例代码。将 UIImage 类别文件添加到您的项目后,您可以像这样模糊图像:

blurImg = [blurImg applyDarkEffect];

iOS 7 之前的解决方案: https ://github.com/tomsoft1/StackBluriOS

UIImage *blurImg = [originalImg stackBlur:radius];
于 2013-10-26T12:08:12.263 回答