Ios 自定义UIViewController带模糊的过渡

Ios 自定义UIViewController带模糊的过渡,ios,cocoa-touch,animation,uiviewcontroller,uiviewanimationtransition,Ios,Cocoa Touch,Animation,Uiviewcontroller,Uiviewanimationtransition,我试图实现我的UIViewController的一个过渡,它非常简单地稍微缩小和模糊,以便它在背景中淡入淡出。我已经研究了很多解决方案,但是我找不到任何关于模糊的具体解决方案 目前,我只是在玩一个屏幕的父视图控制器和动画的孩子 Tweetbot 3和Pinterest等应用程序是实现这一点的著名应用程序,请参见此处的屏幕截图,这正是我的意思: 我正在努力解决这个问题。关于如何实现此效果,您有什么建议吗?iOS 7解决方案: 您可以在UIImageView中显示它,并将其放置在其他UIView的

我试图实现我的UIViewController的一个过渡,它非常简单地稍微缩小和模糊,以便它在背景中淡入淡出。我已经研究了很多解决方案,但是我找不到任何关于模糊的具体解决方案

目前,我只是在玩一个屏幕的父视图控制器和动画的孩子

Tweetbot 3和Pinterest等应用程序是实现这一点的著名应用程序,请参见此处的屏幕截图,这正是我的意思:


我正在努力解决这个问题。关于如何实现此效果,您有什么建议吗?

iOS 7解决方案:

您可以在UIImageView中显示它,并将其放置在其他UIView的顶部。过去,我在CALayer中使用RenderContext

UIGraphicsBeginImageContext(self.view.bounds.size);
[self.view drawViewHierarchyInRect:self.view.bounds];
UIImage *blurImg = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
捕获UIView屏幕截图后,应用模糊效果。不幸的是,目前还没有适用于blur effect的公共API,但Apple在示例代码中提供了一个示例实现。这是UIImage的一个类别。请在Xcode文档中搜索示例代码。将UIImage类别文件添加到项目后,可以如下所示模糊图像:

blurImg = [blurImg applyDarkEffect];
iOS 7解决方案之前的版本:


iOS 7解决方案:

您可以在UIImageView中显示它,并将其放置在其他UIView的顶部。过去,我在CALayer中使用RenderContext

UIGraphicsBeginImageContext(self.view.bounds.size);
[self.view drawViewHierarchyInRect:self.view.bounds];
UIImage *blurImg = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
捕获UIView屏幕截图后,应用模糊效果。不幸的是,目前还没有适用于blur effect的公共API,但Apple在示例代码中提供了一个示例实现。这是UIImage的一个类别。请在Xcode文档中搜索示例代码。将UIImage类别文件添加到项目后,可以如下所示模糊图像:

blurImg = [blurImg applyDarkEffect];
iOS 7解决方案之前的版本:


是的,我见过很多不同的模糊图像的解决方案,包括苹果自己的代码。然而,我遇到了另一个问题。模糊图像时,模糊不会超出图像边界,这意味着您仍然会获得硬边。是的,我见过很多不同的模糊图像的解决方案,包括苹果自己的代码。然而,我遇到了另一个问题。模糊图像时,模糊不会超出图像边界,这意味着您仍然会获得硬边。