自定义UIViewController过渡与模糊

时间:2013-10-26 01:11:36

标签: ios cocoa-touch animation uiviewcontroller uiviewanimationtransition

我正在尝试实现我的UIViewController的转换,其中非常简单地缩小并模糊,以便它在后台褪色。我已经看了很多解决方案,但我找不到任何特别模糊的东西。

目前我正在玩一个父视图控制器的屏幕并在孩子中设置动画。

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

enter image description here

我正在努力平稳地模糊。关于如何实现这种效果的任何建议?

1 个答案:

答案 0 :(得分:1)

iOS 7解决方案:

您可以在UIImageView中显示它并放在其他UIViews之上。过去,我在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];