DynamicBlurView is a dynamic and high performance UIView subclass for Blur.
- Since using the CADisplayLink, it is a high performance.
- Can generate a plurality of BlurView.
- Swift 4.0
- iOS 8.0 or later
- tvOS 9.0 or later
Add the following to your Podfile
:
pod "DynamicBlurView"
Add the following to your Cartfile
:
github "KyoheiG3/DynamicBlurView"
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
var drawsAsynchronously: Bool
- When true, it captures displays image and blur it asynchronously. Try to set true if needs more performance.
- Asynchronous drawing is possibly crash when needs to process on main thread that drawing with animation for example.
- Default is false.
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.
- Defauot is 1.
var quality: CaptureQuality
- Quality of captured image.
- Default is medium.
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.
- Inspired by FXBlurView in nicklockwood.
Follow me 🎉
Under the MIT license. See LICENSE file for details.