如何模糊我的UIViewController与顶层的一些层(不是代码,只是概念)

时间:2014-02-10 11:11:49

标签: ios uiviewcontroller

我今天正在使用AirBnB应用程序,当他们登录某人时,我真的很喜欢他们的用户体验。

他们有一个正常的登录视图,当你点击“提交”或其他什么来启动身份验证过程时,他们会在顶部放置一个黑色图层,半透明,并且它有旋转动画。

用什么技术术语来描述这个?

他们可能使用的对象是什么?我想给自己一个机会,但我只是R& D'ing,所以我不会花时间去做硬核低级图形。只是一个快速的肮脏概念。

有什么建议吗?

3 个答案:

答案 0 :(得分:2)

Apple现在提供了一个名为UIImage + ImageEffects的UIImage类别,可以加速这些技巧。然后,您只需调用其中一种方法来应用效果。然而,在调用之前缩小图像分辨率总是好的,因为它需要一些时间来计算。

  • (UIImage *)applyLightEffect;
  • (UIImage *)applyExtraLightEffect;
  • (UIImage *)applyDarkEffect;
  • (UIImage *)applyTintEffectWithColor:(UIColor *)tintColor;

https://github.com/codeschool/UIImage-ImageEffects

https://github.com/iGriever/TWSReleaseNotesView/blob/master/TWSReleaseNotesView/UIImage%2BImageEffects.h

拍摄屏幕上显示的图像:

UIGraphicsBeginImageContextWithOptions(self.imageView.bounds.size, self.imageView.opaque, 0.0);
[self.imageView.layer renderInContext:UIGraphicsGetCurrentContext()];

UIImage *img = UIGraphicsGetImageFromCurrentImageContext();

UIGraphicsEndImageContext();

UIImage *blurredImage = [img applyDarkEffect];

Apple的会议:WWDC 2013 Session 226: Implementing Engaging UI on iOS,PDF的第40页或视频的大约15:00。他们在那里详细解释。

答案 1 :(得分:0)

拍摄要模糊的视图图像,并对图像应用模糊变换。然后,将修改后的图像添加到视图中,并将您想要的任何其他视图放在顶部。

从技术上讲,这将使用核心图像(CIGaussianBlur)来完成。

答案 2 :(得分:0)