Skip to content

DynamicBlurView is a dynamic and high performance UIView subclass for Blur.

License

Notifications You must be signed in to change notification settings

ehizokhai/DynamicBlurView

 
 

Repository files navigation

DynamicBlurView

Carthage compatible Version License Platform

DynamicBlurView is a dynamic and high performance UIView subclass for Blur.

homehome

  • Since using the CADisplayLink, it is a high performance.
  • Can generate a plurality of BlurView.

Requirements

  • Swift 4.2
  • 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 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.
  • 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

Author

Kyohei Ito

Follow me 🎉

LICENSE

Under the MIT license. See LICENSE file for details.

About

DynamicBlurView is a dynamic and high performance UIView subclass for Blur.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Swift 94.8%
  • Ruby 2.9%
  • Objective-C 2.3%