Show a UIViewController in a popover with background blurred. Support iOS 5.1+ on iPhone and iPad. Inspired by Twitter #music.
This project uses GPUImageFastBlurFilter from GPUImage to do the blurring. GPUImage is faster than Core Image CIGaussianFilter according to this article Blur Effect in iOS Applications, and CIGaussianFilter is only available on iOS 6+, while GPUImage supports iOS 4.0+.
ARC is required.
-
Add to your project as a submodule:
git submodule add https://github.com/eternityz/RWBlurPopover.git RWBlurPopover git submodule update --init --recursive
-
Open your project in Xcode, drag and drop
RWBlurPopover.xcodeproj
onto your project or workspace. -
Select your target in project settings, and go to the Build Phases tab. Add RWBlurPopover into Target Dependencies. Add
libRWBlurPopover.a
into Link Binary With Libraries. -
Add these frameworks to your project (required by GPUImage): CoreMedia, CoreVideo, OpenGLES, QuartzCore, AVFoundation.
-
Include RWBlurPopover whenever you need it with
#import <RWBlurPopover/RWBlurPopover.h>
.
- Present a UIViewController inside a popover with background blurred:
[[RWBlurPopover instance] presentViewController:viewController withHeight:300];
Note: On iPad, the height
parameter is unused.
- Dismiss the view controller presented by RWBlurPopover:
[[RWBlurPopover instance] dismissViewControllerAnimated:YES completion:^(void){
// some completion work
}];
MIT License