Live blurring for iOS
Objective-C
Switch branches/tags
Nothing to show
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
LiveBlurDemo Blur radius cannot be less than 1 Feb 2, 2016
.gitignore Initial commit Mar 21, 2014
README.md Prettier code in readme Mar 29, 2015
demo.gif Add .gif Apr 11, 2014

README.md

MSLiveBlur

Screenshot

The MSLiveBlurView dynamically blurs the content on the screen and updates at the given interval. Subviews will not be blurred but will instead appear on top of the blurred area.

I use a condensed version of GPUImage to do the blurring.

Note: Performance on the simulator is abysmal for blur radius >5, try it on an actual device - it's much faster!

Usage

Drag the MSLiveBlur folder into your XCode project, and include the required system dependencies:

  • CoreGraphics.framework
  • UIKit.framework
  • Foundation.framework

For live blur:

#import "MSLiveBlur.h"
[MSLiveBlur sharedInstance].isStatic = NO;
[[MSLiveBlur sharedInstance] blurRect:someView.frame];

For static blur:

#import "MSLiveBlur.h"
[[MSLiveBlur sharedInstance] blurRect:someView.frame];

then, to update manually:

[[MSLiveBlur sharedInstance] forceUpdateBlur];

Adding subviews:

UIView* overlayView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 100, 100)];
[[MSLiveBlur sharedInstance] addSubview:overlayView];

Todo:

  • Figure out how to only blur views beneath so as not to require a new window
  • Different shapes (ex: rounded corners)

Done

  • Live blur with variable interval
  • Live blur appears on top of the application and blurs underneath
  • Specify the size of the blurred area so it does not blur the entire screen (i.e. actually use the given frame)
  • Tint color
  • Support multiple areas at once
  • Allow subviews on top of the blurred area
  • Landscape
  • Enable touches on subviews