Difference between revisions of "UIBackdropView"

From iPhone Development Wiki
Jump to: navigation, search
(About _UIBackdropViewSettingsColored)
(Adjustment.)
 
(5 intermediate revisions by the same user not shown)
Line 5: Line 5:
 
== Creating Settings ==
 
== Creating Settings ==
  
_UIBackdropView uses a _UIBackdropViewSettings object for its setup. There are many ways to create it:
+
<tt>_UIBackdropView</tt> uses a <tt>_UIBackdropViewSettings</tt> object for its setup. There are many ways to create it:
  
 
<source lang="objc">
 
<source lang="objc">
Line 13: Line 13:
 
_UIBackdropViewSettings *settings = [_UIBackdropViewSettings settingsForStyle:2070];
 
_UIBackdropViewSettings *settings = [_UIBackdropViewSettings settingsForStyle:2070];
  
_UIBackdropViewSettings *settings = [_UIBackdropViewSettings settingsForPrivateStyle:2070]; //this only calls settingsForStyle internally, so there are no advantages of using it over settingsForStyle
+
_UIBackdropViewSettings *settings = [_UIBackdropViewSettings settingsForPrivateStyle:2070]; // this calls settingsForStyle internally
  
 
_UIBackdropViewSettings *settings = [[[_UIBackdropViewSettings alloc] initWithDefaultsValue] autorelease];
 
_UIBackdropViewSettings *settings = [[[_UIBackdropViewSettings alloc] initWithDefaultsValue] autorelease];
  
_UIBackdropViewSettings *settings = [_UIBackdropViewSettings settingsForStyle:2030 graphicsQuality:100] ; //can be either 10 or 100, 100 is better. See notes at the bottom
+
_UIBackdropViewSettings *settings = [_UIBackdropViewSettings settingsForStyle:2030 graphicsQuality:100] ; // specify graphics quality, usually 10 (minimum quality) or 100 (maximum quality)
  
 
</source>
 
</source>
Line 23: Line 23:
 
== Available settings classes (styles) ==
 
== Available settings classes (styles) ==
  
Here's a list with known settings classes (subclasses of _UIBackdropViewSettings) available.
+
Here's a list with known settings classes (subclasses of <tt>_UIBackdropViewSettings</tt>) available.
  
 
{| class="wikitable"
 
{| class="wikitable"
! rowspan="2" | Class name
+
! Class !! Styles !! Applications !! Comments
! colspan="3" | Style number(s)
 
! rowspan="2" | Comments/Used by
 
|-
 
! iOS 7.0
 
! iOS 7.1
 
! iOS 8
 
 
|-
 
|-
 
| _UIBackdropViewSettingsCombiner
 
| _UIBackdropViewSettingsCombiner
| colspan="3" | -3
+
| 3
|  
+
|
 +
|
 
|-
 
|-
 
| _UIBackdropViewSettingsNone
 
| _UIBackdropViewSettingsNone
| colspan="3" | -2
+
| -2
|  
+
|
 +
|
 
|-
 
|-
 
| _UIBackdropViewSettingsLight
 
| _UIBackdropViewSettingsLight
| colspan="3" | 0, 1000, 1003, 2020, 10090, 10100
+
| 0, 1000, 1003, 2020, 10090, 10100
|  
+
|
 +
|
 
|-
 
|-
 
| _UIBackdropViewSettingsDark
 
| _UIBackdropViewSettingsDark
| colspan="3" | 1, 1001, 1100, 2030, 11050, 11060
+
| 0, 1001, 1100, 2030, 11050, 11060
| Notification Center, Keyboard (Dark), Safari Navigation Bar (Private mode)
+
|  
 +
* Notification Center
 +
* Keyboard (Dark)
 +
* Safari Navigation Bar (Private mode)
 +
|
 
|-
 
|-
 
| _UIBackdropViewSettingsBlur
 
| _UIBackdropViewSettingsBlur
| colspan="3" | 2
+
| 2
 
| Common blurring
 
| Common blurring
 +
|
 
|-
 
|-
 
| _UIBackdropViewSettingsColorSample
 
| _UIBackdropViewSettingsColorSample
| colspan="3" | 2000
+
| 2000
|  
+
|
 +
|
 
|-
 
|-
 
| _UIBackdropViewSettingsUltraLight
 
| _UIBackdropViewSettingsUltraLight
| colspan="2" | 2010
+
| (iOS 7) 2010
| 2010, 10050, 10060, 10070, 10080, 10110
+
(iOS 8) 2010, 10050, 10060, 10070, 10080, 10110
 
| Alert views and various UI (White)
 
| Alert views and various UI (White)
 +
| Fallback of unsupported styles
 
|-
 
|-
 
| _UIBackdropViewSettingsLightLow
 
| _UIBackdropViewSettingsLightLow
| colspan="3" | 2029
+
| 2029
|  
+
|
 +
| Optimized version of _UIBackdropViewSettingsLight
 
|-
 
|-
 
| _UIBackdropViewSettingsDarkWithZoom
 
| _UIBackdropViewSettingsDarkWithZoom
| colspan="3" | 2031
+
| 2031
|  
+
|
 +
|
 
|-
 
|-
 
| _UIBackdropViewSettingsDarkLow
 
| _UIBackdropViewSettingsDarkLow
| colspan="3" | 2039
+
| 2039
|  
+
|
 +
| Optimized version of _UIBackdropViewSettingsDark
 
|-
 
|-
| rowspan="7" | _UIBackdropViewSettingsColored
+
| rowspan="10" | _UIBackdropViewSettingsColored
| colspan="3" | 2040
+
| 2040
 +
|
 
| Tint: rgba(0.0196078, 0.0196078, 0.0196078, 1)
 
| Tint: rgba(0.0196078, 0.0196078, 0.0196078, 1)
 
|-
 
|-
| rowspan="2" colspan="3" | 10091
+
| rowspan="3" | 10091
 +
| rowspan="3" |
 
| Tint (iOS 7): rgba(0.160784, 1, 0.301961, 1)
 
| Tint (iOS 7): rgba(0.160784, 1, 0.301961, 1)
 
|-
 
|-
 
| Tint (iOS 8): rgba(0.160784, 1, 0, 1)
 
| Tint (iOS 8): rgba(0.160784, 1, 0, 1)
 
|-
 
|-
| rowspan="2" colspan="3" | 10092
+
| Tint (iOS 9+): rgba(0.160784, 1, 0.301961, 1)
 +
|-
 +
| rowspan="3" | 10092
 +
| rowspan="3" |
 
| Tint (iOS 7): rgba(1, 0.0980392, 0.0470588, 1)
 
| Tint (iOS 7): rgba(1, 0.0980392, 0.0470588, 1)
 
|-
 
|-
 
| Tint (iOS 8): rgba(1, 0.098039, 0.047059, 1)
 
| Tint (iOS 8): rgba(1, 0.098039, 0.047059, 1)
 
|-
 
|-
| rowspan="2" colspan="3" | 10120
+
| Tint (iOS 9+): rgba(1, 0.0980392, 0.0470588, 1)
 +
|-
 +
| rowspan="3" | 10120
 +
| rowspan="3" |
 
| Tint (iOS 7): rgba(0.0313725, 0.262745, 0.560784, 1)
 
| Tint (iOS 7): rgba(0.0313725, 0.262745, 0.560784, 1)
 
|-
 
|-
 
| Tint (iOS 8): rgba(0.031373, 0.262745, 0.560784, 1)
 
| Tint (iOS 8): rgba(0.031373, 0.262745, 0.560784, 1)
 +
|-
 +
| Tint (iOS 9+): rgba(0.0313725, 0.262745, 0.560784, 1)
 
|-
 
|-
 
| _UIBackdropViewSettingsUltraDark
 
| _UIBackdropViewSettingsUltraDark
| colspan="3" | 2050, 11070
+
| 2050, 11070
|  
+
|
 +
|
 
|-
 
|-
 
| _UIBackdropViewSettingsAdaptiveLight
 
| _UIBackdropViewSettingsAdaptiveLight
| colspan="3" | 2060
+
| 2060
 
| Control Center
 
| Control Center
 +
|
 
|-
 
|-
 
| _UIBackdropViewSettingsSemiLight
 
| _UIBackdropViewSettingsSemiLight
| colspan="3" | 2070
+
| 2070
|  
+
|
 +
|
 
|-
 
|-
 
| _UIBackdropViewSettingsFlatSemiLight
 
| _UIBackdropViewSettingsFlatSemiLight
| colspan="3" | 2071
+
| 2071
|  
+
|
 +
|
 
|-
 
|-
 
| _UIBackdropViewSettingsUltraColored
 
| _UIBackdropViewSettingsUltraColored
| colspan="3" | 2080
+
| 2080
|  
+
|
 +
|
 
|-
 
|-
 
| _UIBackdropViewSettingsPasscodePaddle
 
| _UIBackdropViewSettingsPasscodePaddle
| -
+
| 3900
| colspan="2" | 3900
+
|
|  
+
| iOS 7.1+
 
|-
 
|-
 
| _UIBackdropViewSettingsLightKeyboard
 
| _UIBackdropViewSettingsLightKeyboard
| -
+
| 3901
| colspan="2" | 3901
+
|
|  
+
| iOS 7.1+
 +
|-
 +
| _UIBackdropViewSettingsLightEmojiKeyboard
 +
| 3902
 +
|
 +
| iOS 8.3+
 +
|-
 +
| _UIBackdropViewSettingsATVSemiLight
 +
| 4000
 +
|
 +
| iOS 9.0+
 +
|-
 +
| _UIBackdropViewSettingsATVMediumLight
 +
| 4001
 +
|
 +
| iOS 9.0+
 +
|-
 +
| _UIBackdropViewSettingsATVLight
 +
| 4002
 +
|
 +
| iOS 9.0+
 +
|-
 +
| _UIBackdropViewSettingsATVUltraLight
 +
| 4003
 +
|
 +
| iOS 9.0+
 +
|-
 +
| _UIBackdropViewSettingsATVMenuLight
 +
| 4004
 +
|
 +
| iOS 9.0+
 +
|-
 +
| _UIBackdropViewSettingsATVSemiDark
 +
| 4005
 +
|
 +
| iOS 9.0+
 +
|-
 +
| _UIBackdropViewSettingsATVMediumDark
 +
| 4006
 +
|
 +
| iOS 9.0+
 +
|-
 +
| _UIBackdropViewSettingsATVDark
 +
| 4007
 +
|
 +
| iOS 9.0+
 +
|-
 +
| _UIBackdropViewSettingsATVUltraDark
 +
| 4008
 +
|
 +
| iOS 9.0+
 +
|-
 +
| _UIBackdropViewSettingsATVMenuDark
 +
| 4009
 +
|
 +
| iOS 9.0+
 +
|-
 +
| _UIBackdropViewSettingsATVAdaptive
 +
| 4010
 +
|
 +
| iOS 9.0+
 +
|-
 +
| _UIBackdropViewSettingsATVAdaptiveLighten
 +
| 4011
 +
|
 +
| iOS 9.0+
 +
|-
 +
| _UIBackdropViewSettingsATVAccessoryLighten
 +
| 4012
 +
|
 +
| iOS 9.0+
 +
|-
 +
| _UIBackdropViewSettingsATVAccessoryDark
 +
| 4013
 +
|
 +
| iOS 9.3+
 
|}
 
|}
  
Line 146: Line 243:
 
</source>
 
</source>
  
== About _UIBackdropViewSettingsColored ==
+
== Overriding _UIBackdropViewSettingsColored ==
  
 
You can give it a tint color (in fact, it already has a default tint color, and some styles (10091, 10092, 10120) set their own). Example:
 
You can give it a tint color (in fact, it already has a default tint color, and some styles (10091, 10092, 10120) set their own). Example:
  
 
<source lang="objc">
 
<source lang="objc">
_UIBackdropViewSettings *settings = [[_UIBackdropViewSettingsColored alloc]init];
 
[settings setTintColor:[UIColor colorWithRed:1 green:0 blue:0 alpha:1];
 
//now use it somewhere
 
</source>
 
  
For iOS 9
+
_UIBackdropViewSettings *settings = [_UIBackdropViewSettings settingsForStyle:2040];
 +
settings.colorTint = [UIColor colorWithRed:1.0 green:0.0 blue:0.0 alpha:1.0];
  
<source lang="objc">
 
_UIBackdropViewSettings *settings = [_UIBackdropViewSettings settingsForPrivateStyle:2040];
 
[settings setColorTint:[UIColor colorWithRed:1 green:0 blue:0 alpha:1]];
 
//now use it somewhere
 
 
</source>
 
</source>
  
 
== Blurring Sample ==
 
== Blurring Sample ==
  
There are only two blur qualities available.
+
There are two blur qualities available.
  
 
* low
 
* low
Line 175: Line 265:
 
<source lang="objc">
 
<source lang="objc">
  
[blurView setBlurRadiusSetOnce:NO];
+
blurView.blurRadiusSetOnce = NO;
[blurView setBlurRadius:10.0];
+
blurView.blurRadius = 10.0;
[blurView setBlurHardEdges:3];
+
blurView.blurHardEdges = 3;
[blurView setBlurWithHardEdges:YES];
+
blurView.blurWithHardEdges = YES;
[blurView setBlurQuality:@"low"];  
+
blurView.blurQuality = @"low";  
  
 
</source>
 
</source>
Line 186: Line 276:
 
<source lang="objc">
 
<source lang="objc">
  
[blurView setRequiresColorStatistics:YES];
+
blurView.requiresColorStatistics = YES;
[blurView setUsesColorTintView:YES];
+
blurView.usesColorTintView = YES;
 
UIColor *color = [UIColor cyanColor];
 
UIColor *color = [UIColor cyanColor];
[blurView setColorTint:color]; // or you may use - (void)transitionToColor:(UIColor *)color;
+
blurView.colorTint = color; // or you may use - (void)transitionToColor:(UIColor *)color;
[blurView setColorTintAlpha:0.8];
+
blurView.colorTintAlpha = 0.8;
[blurView setColorTintMaskAlpha:0.7];
+
blurView.colorTintMaskAlpha = 0.7;
  
 
</source>
 
</source>
  
== About graphics quality ==
+
== Graphics quality ==
  
The styles have different graphic qualities. If you don't specify it, the "best matching" quality for your device is used (using [UIDevice _graphicsQuality]). There are two values: 10 and 100. 100 looks better, but needs more resources. On default, iPad2,6, iPad2,7, iPad3,4, iPad3,5, iPad3,6, iPhone4,1, iPhone5,1, iPhone5,2, iPod5,1 get 100, the other devices get 10 (as of iOS 8.1). To manually set a graphic quality to a style, use
+
Some styles require higher graphics quality, determined using <tt>-[UIDevice _graphicsQuality]</tt> and might not be suitable for legacy devices. There are two values: 10 and 100. 100 looks better, but needs more resources. On default, iPad2,6, iPad2,7, iPad3,4, iPad3,5, iPad3,6, iPhone4,1, iPhone5,1, iPhone5,2, iPod5,1 get 10, the other devices get 100 (as of iOS 8.1). To manually set a graphic quality to a style, use
  
 
<source lang="objc">
 
<source lang="objc">
[_UIBackdropViewSettings settingsForStyle:2030 arg1 graphicsQuality:100]; //replace 2030 and 100 with whatever you need.
+
[_UIBackdropViewSettings settingsForStyle:2030 graphicsQuality:100]; // request style 2030 at highest graphics quality (100)
 +
[_UIBackdropViewSettings settingsForStyle:2030 graphicsQuality:10]; // request style 2030 at lower graphics quality (10)
 
</source>
 
</source>
 
If you specify the graphics quality as 10 (or use the default, and it is 10 on the device), the blur quality "low" will be used (if you don't override it).
 
  
 
== Applying blur settings/style ==
 
== Applying blur settings/style ==
 
There are several ways for doing this by methods.
 
There are several ways for doing this by methods.
  
{{Function signature|signature=- (void)transitionIncrementallyToPrivateStyle:(NSInteger)style weighting:(float)weight;|firmware=7.0 –}}
+
{{Function signature|signature=- (void)transitionIncrementallyToPrivateStyle:(NSInteger)style weighting:(CGFloat)weight;|firmware=7.0 –}}
{{Function signature|signature=- (void)transitionIncrementallyToStyle:(NSInteger)style weighting:(float)weight;|firmware=7.0 –}}
+
{{Function signature|signature=- (void)transitionIncrementallyToStyle:(NSInteger)style weighting:(CGFloat)weight;|firmware=7.0 –}}
 
{{Function signature|signature=- (void)transitionToSettings:(_UIBackdropViewSettings *)settings;|firmware=7.0 –}}
 
{{Function signature|signature=- (void)transitionToSettings:(_UIBackdropViewSettings *)settings;|firmware=7.0 –}}
 
{{Function signature|signature=- (void)transitionToPrivateStyle:(NSInteger)style;|firmware=7.0 –}}
 
{{Function signature|signature=- (void)transitionToPrivateStyle:(NSInteger)style;|firmware=7.0 –}}
 
{{Function signature|signature=- (void)transitionToStyle:(NSInteger)style;|firmware=7.0 –}}
 
{{Function signature|signature=- (void)transitionToStyle:(NSInteger)style;|firmware=7.0 –}}
  
transitionIncrementallyToPrivateStyle and transitionIncrementallyToStyle do the same (transitionIncrementallyToPrivateStyle calls transitionIncrementallyToStyle internally).
+
<tt>-transitionIncrementallyToPrivateStyle:</tt> and <tt>-transitionIncrementallyToStyle:</tt> do the same (<tt>-transitionIncrementallyToPrivateStyle:</tt> calls <tt>-transitionIncrementallyToStyle:</tt> internally).
transitionToSettings and transitionToPrivateStyle are equivalent too.  
+
<tt>-transitionToSettings:</tt> and <tt>-transitionToPrivateStyle:</tt> are equivalent too.  
  
 
For example
 
For example
Line 224: Line 313:
 
// Whatever configuration for the settings
 
// Whatever configuration for the settings
  
[blurView setInputSettings:newSettings];
+
blurView.inputSettings = newSettings;
  
 
</source>
 
</source>
Line 232: Line 321:
 
<source lang="objc">
 
<source lang="objc">
  
NSArray *blurViews = [_UIBackdropView allBackdropViews];
+
NSArray <_UIBackdropView *> *blurViews = [_UIBackdropView allBackdropViews];
  
 
for (_UIBackdropView *view in blurViews) {
 
for (_UIBackdropView *view in blurViews) {

Latest revision as of 02:11, 14 August 2017

_UIBackdropView is a private class in UIKit.framework (iOS 7.0+), a subclass of UIView, which is used for the popular blur effects.

It uses a CABackdropLayer with a gaussianBlur CAFilter (kCAFilterGaussianBlur) .[1]

Creating Settings

_UIBackdropView uses a _UIBackdropViewSettings object for its setup. There are many ways to create it:

_UIBackdropViewSettings *settings = (_UIBackdropViewSettings *)[[[_UIBackdropViewSettingsSemiLight alloc] init] autorelease];

_UIBackdropViewSettings *settings = [_UIBackdropViewSettings settingsForStyle:2070];

_UIBackdropViewSettings *settings = [_UIBackdropViewSettings settingsForPrivateStyle:2070]; // this calls settingsForStyle internally

_UIBackdropViewSettings *settings = [[[_UIBackdropViewSettings alloc] initWithDefaultsValue] autorelease];

_UIBackdropViewSettings *settings = [_UIBackdropViewSettings settingsForStyle:2030 graphicsQuality:100] ; // specify graphics quality, usually 10 (minimum quality) or 100 (maximum quality)

Available settings classes (styles)

Here's a list with known settings classes (subclasses of _UIBackdropViewSettings) available.

Class Styles Applications Comments
_UIBackdropViewSettingsCombiner 3
_UIBackdropViewSettingsNone -2
_UIBackdropViewSettingsLight 0, 1000, 1003, 2020, 10090, 10100
_UIBackdropViewSettingsDark 0, 1001, 1100, 2030, 11050, 11060
  • Notification Center
  • Keyboard (Dark)
  • Safari Navigation Bar (Private mode)
_UIBackdropViewSettingsBlur 2 Common blurring
_UIBackdropViewSettingsColorSample 2000
_UIBackdropViewSettingsUltraLight (iOS 7) 2010

(iOS 8) 2010, 10050, 10060, 10070, 10080, 10110

Alert views and various UI (White) Fallback of unsupported styles
_UIBackdropViewSettingsLightLow 2029 Optimized version of _UIBackdropViewSettingsLight
_UIBackdropViewSettingsDarkWithZoom 2031
_UIBackdropViewSettingsDarkLow 2039 Optimized version of _UIBackdropViewSettingsDark
_UIBackdropViewSettingsColored 2040 Tint: rgba(0.0196078, 0.0196078, 0.0196078, 1)
10091 Tint (iOS 7): rgba(0.160784, 1, 0.301961, 1)
Tint (iOS 8): rgba(0.160784, 1, 0, 1)
Tint (iOS 9+): rgba(0.160784, 1, 0.301961, 1)
10092 Tint (iOS 7): rgba(1, 0.0980392, 0.0470588, 1)
Tint (iOS 8): rgba(1, 0.098039, 0.047059, 1)
Tint (iOS 9+): rgba(1, 0.0980392, 0.0470588, 1)
10120 Tint (iOS 7): rgba(0.0313725, 0.262745, 0.560784, 1)
Tint (iOS 8): rgba(0.031373, 0.262745, 0.560784, 1)
Tint (iOS 9+): rgba(0.0313725, 0.262745, 0.560784, 1)
_UIBackdropViewSettingsUltraDark 2050, 11070
_UIBackdropViewSettingsAdaptiveLight 2060 Control Center
_UIBackdropViewSettingsSemiLight 2070
_UIBackdropViewSettingsFlatSemiLight 2071
_UIBackdropViewSettingsUltraColored 2080
_UIBackdropViewSettingsPasscodePaddle 3900 iOS 7.1+
_UIBackdropViewSettingsLightKeyboard 3901 iOS 7.1+
_UIBackdropViewSettingsLightEmojiKeyboard 3902 iOS 8.3+
_UIBackdropViewSettingsATVSemiLight 4000 iOS 9.0+
_UIBackdropViewSettingsATVMediumLight 4001 iOS 9.0+
_UIBackdropViewSettingsATVLight 4002 iOS 9.0+
_UIBackdropViewSettingsATVUltraLight 4003 iOS 9.0+
_UIBackdropViewSettingsATVMenuLight 4004 iOS 9.0+
_UIBackdropViewSettingsATVSemiDark 4005 iOS 9.0+
_UIBackdropViewSettingsATVMediumDark 4006 iOS 9.0+
_UIBackdropViewSettingsATVDark 4007 iOS 9.0+
_UIBackdropViewSettingsATVUltraDark 4008 iOS 9.0+
_UIBackdropViewSettingsATVMenuDark 4009 iOS 9.0+
_UIBackdropViewSettingsATVAdaptive 4010 iOS 9.0+
_UIBackdropViewSettingsATVAdaptiveLighten 4011 iOS 9.0+
_UIBackdropViewSettingsATVAccessoryLighten 4012 iOS 9.0+
_UIBackdropViewSettingsATVAccessoryDark 4013 iOS 9.3+

Creating Sample

// Creating blur view using settings object
_UIBackdropViewSettings *settings = [_UIBackdropViewSettings settingsForStyle:2060];

// initialization of the blur view
_UIBackdropView *blurView = [[_UIBackdropView alloc] initWithFrame:CGRectZero
                                              autosizesToFitSuperview:YES settings:settings];
// another way for initialization
_UIBackdropView *blurView = [[_UIBackdropView alloc] initWithSettings:settings];

// or without settings object implementation
_UIBackdropView *blurView = [[_UIBackdropView alloc] initWithStyle:2060];

[someView addSubview:blurView];
[blurView release];

Overriding _UIBackdropViewSettingsColored

You can give it a tint color (in fact, it already has a default tint color, and some styles (10091, 10092, 10120) set their own). Example:

_UIBackdropViewSettings *settings = [_UIBackdropViewSettings settingsForStyle:2040];
settings.colorTint = [UIColor colorWithRed:1.0 green:0.0 blue:0.0 alpha:1.0];

Blurring Sample

There are two blur qualities available.

  • low
  • default (Assumed to be "medium")

They correspend to the kCAFilterGaussianBlur's property "inputQuality"

blurView.blurRadiusSetOnce = NO;
blurView.blurRadius = 10.0;
blurView.blurHardEdges = 3;
blurView.blurWithHardEdges = YES;
blurView.blurQuality = @"low";

Tinting Sample

blurView.requiresColorStatistics = YES;
blurView.usesColorTintView = YES;
UIColor *color = [UIColor cyanColor];
blurView.colorTint = color; // or you may use - (void)transitionToColor:(UIColor *)color;
blurView.colorTintAlpha = 0.8;
blurView.colorTintMaskAlpha = 0.7;

Graphics quality

Some styles require higher graphics quality, determined using -[UIDevice _graphicsQuality] and might not be suitable for legacy devices. There are two values: 10 and 100. 100 looks better, but needs more resources. On default, iPad2,6, iPad2,7, iPad3,4, iPad3,5, iPad3,6, iPhone4,1, iPhone5,1, iPhone5,2, iPod5,1 get 10, the other devices get 100 (as of iOS 8.1). To manually set a graphic quality to a style, use

[_UIBackdropViewSettings settingsForStyle:2030 graphicsQuality:100]; // request style 2030 at highest graphics quality (100)
[_UIBackdropViewSettings settingsForStyle:2030 graphicsQuality:10]; // request style 2030 at lower graphics quality (10)

Applying blur settings/style

There are several ways for doing this by methods.

Signature - (void)transitionIncrementallyToPrivateStyle:(NSInteger)style weighting:(CGFloat)weight;
Available in 7.0 –
Signature - (void)transitionIncrementallyToStyle:(NSInteger)style weighting:(CGFloat)weight;
Available in 7.0 –
Signature - (void)transitionToSettings:(_UIBackdropViewSettings *)settings;
Available in 7.0 –
Signature - (void)transitionToPrivateStyle:(NSInteger)style;
Available in 7.0 –
Signature - (void)transitionToStyle:(NSInteger)style;
Available in 7.0 –

-transitionIncrementallyToPrivateStyle: and -transitionIncrementallyToStyle: do the same (-transitionIncrementallyToPrivateStyle: calls -transitionIncrementallyToStyle: internally). -transitionToSettings: and -transitionToPrivateStyle: are equivalent too.

For example

_UIBackdropViewSettings *newSettings = [_UIBackdropViewSettings settingsForPrivateStyle:0];

// Whatever configuration for the settings

blurView.inputSettings = newSettings;

Getting/Parsing all _UIBackdropView objects at runtime

NSArray <_UIBackdropView *> *blurViews = [_UIBackdropView allBackdropViews];

for (_UIBackdropView *view in blurViews) {
      NSLog(@"This _UIBackdropView style is: %d", view.style);
     // do any _UIBackdropView configuration here
}

References