DynamicBlurView
DynamicBlurView is a dynamic and high performance UIView subclass for Blur.
Appetize's Demo
- Since using the CADisplayLink, it is a high performance.
- Can generate a plurality of BlurView.
Requirements
- Swift 5
- iOS 8.0 or later
- tvOS 9.0 or later
How to Install DynamicBlurView
CocoaPods
Add the following to your Podfile
:
pod "DynamicBlurView"
Carthage
Add the following to your Cartfile
:
github "KyoheiG3/DynamicBlurView"
Usage
Example
Blur the whole
let blurView = DynamicBlurView(frame: view.bounds)
blurView.blurRadius = 10
view.addSubview(blurView)
Animation
UIView.animateWithDuration(0.5) {
blurView.blurRadius = 30
}
Ratio
blurView.blurRatio = 0.5
Variable
var blurRadius: CGFloat
- Strength of the blur.
var trackingMode: TrackingMode
- Mode for update frequency.
Common
is constantly updated.Tracking
is only during scrolling update.None
is not update.
var blendColor: UIColor?
- Blend in the blurred image.
var iterations: Int
- Number of times for blur.
- Default is 3.
var isDeepRendering: Bool
- If the view want to render beyond the layer, should be true.
- Default is false.
var blurRatio: CGFloat
- When none of tracking mode, it can change the radius of blur with the ratio. Should set from 0 to 1.
- Default is 1.
var quality: CaptureQuality
- Quality of captured image.
- Default is medium.
Function
func refresh()
- Remove cache of blur image then get it again.
func remove()
- Remove cache of blur image.
func animate()
- Should use when needs to change layout with animation when is set none of tracking mode.
Acknowledgements
- Inspired by FXBlurView in nicklockwood.
Author
Kyohei Ito
Follow me
LICENSE
Under the MIT license. See LICENSE file for details.