iOS 7 style Blur view
Master System Design with Codemia
Enhance your system design skills with over 120 practice problems, detailed solutions, and hands-on exercises.
Introduction
The classic "iOS 7 blur view" is the frosted-glass effect Apple popularized in translucent navigation bars, alerts, and overlay panels. In modern UIKit, the right way to build that effect is not manual screenshot blurring or Core Image plumbing, but UIVisualEffectView with a UIBlurEffect.
Use the Built-In Blur API
Older examples on the internet often capture the background, blur an image, and place the result behind foreground content. That used to be common before Apple exposed a clean API, but it is now the wrong default for normal app UI.
The core UIKit pieces are:
- '
UIBlurEffectto define the style' - '
UIVisualEffectViewto render the effect' - optionally
UIVibrancyEffectfor clearer foreground content
A minimal full-screen blur looks like this:
If you specifically want the older iOS 7 feel, .light is usually the closest starting point.
Add Content Through contentView
A blur view is not just a decoration. It also gives you a content container for controls and labels that should appear above the blurred background.
Using contentView matters. It keeps the hierarchy correct and makes blur animations and resizing behave predictably.
Picking a Blur Style
The original blur styles are .extraLight, .light, and .dark. Newer UIKit versions also provide material-based styles such as .systemMaterial and .systemThinMaterial.
A practical rule:
- use
.lightor.darkif you want the classic effect or are maintaining older visual language - use material styles if you want better adaptation to modern appearance and contrast behavior
The blur is dynamic, so it samples what is visually behind the effect view. That is why layering matters. If the hierarchy is wrong, the blur may appear weak or may seem to blur the wrong content.
Add Vibrancy When Foreground Content Needs Contrast
Blur softens the background, but text and icons can still look muted. A vibrancy effect makes selected foreground content stand out more clearly.
Vibrancy is useful, but it should be intentional. Not every blurred panel needs it.
Performance and Layout Notes
The system blur view is optimized, but it still does real work. A few practical guidelines help:
- avoid stacking many blur views on top of each other
- clip the blur view when using rounded corners
- prefer one well-placed blur container over several nested ones
- test scrolling performance if blur appears inside reusable cells
If you are building a modal card or floating panel, treat the blur view as the visual shell and keep the internal content hierarchy simple.
Common Pitfalls
The most common mistake is adding subviews directly to the effect view instead of to contentView. UIKit expects the visible foreground content to live in that dedicated container.
Another issue is overengineering the effect. Screenshot-based blur pipelines are usually slower, more fragile, and harder to keep visually correct than UIVisualEffectView.
Rounded corners are another frequent source of confusion. Without clipsToBounds = true, the blur effect will continue drawing beyond the rounded shape and the card will not look clean.
Finally, do not assume that the old iOS 7 styles are always the best choice in a modern app. If the goal is simply "nice translucency," the newer material styles usually integrate better with current system design.
Summary
- Use
UIVisualEffectViewfor an iOS-style blur view. - Configure its appearance with
UIBlurEffect. - Add labels and controls to the blur view's
contentView. - Use vibrancy only when foreground content needs extra separation.
- Avoid manual image-blur tricks unless you truly need a custom visual effect.

