finds.dev← search

// the find

nicklockwood/FXBlurView

★ 4,928 · Objective-C · NOASSERTION · updated Nov 2020

[DEPRECATED]

A UIView subclass that faked iOS 7's frosted-glass blur on older iOS versions by capturing the view hierarchy with CALayer renderInContext: and running a box blur via the Accelerate framework. It was useful from 2013–2016 when iOS 7's blur wasn't available on older targets, but iOS has had UIBlurEffect/UIVisualEffectView since iOS 8 and this repo has been explicitly deprecated since at least 2020.

The Accelerate-based box blur implementation is a clean example of vImage usage for image processing on iOS. The static/dynamic mode split and the global enable/disable API show thoughtful API design for managing CPU load. The underlyingView override lets you blur an arbitrary view, not just the immediate superview, which UIVisualEffectView still can't do natively.

Explicitly deprecated — the author says migrate away, and they mean it. Targets iOS 5–8, build tooling is Xcode 6, last touched 2020: you cannot drop this into a modern Xcode project without fighting deprecated APIs and build system changes. renderInContext: misses Metal-rendered content, SpriteKit, video, and camera layers — the same fundamental limitation that made Apple's UIVisualEffectView necessary in the first place. There are no unit tests for the blur logic itself, only manual test apps.

View on GitHub →

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →