Files
OrderScheduling/Pods/DynamicBlurView/README.md
2025-04-10 10:04:06 +08:00

163 lines
3.2 KiB
Markdown

# DynamicBlurView
[![Carthage compatible](https://img.shields.io/badge/Carthage-compatible-4BC51D.svg?style=flat)](https://github.com/Carthage/Carthage)
[![Version](https://img.shields.io/cocoapods/v/DynamicBlurView.svg?style=flat)](http://cocoadocs.org/docsets/DynamicBlurView)
[![License](https://img.shields.io/cocoapods/l/DynamicBlurView.svg?style=flat)](http://cocoadocs.org/docsets/DynamicBlurView)
[![Platform](https://img.shields.io/cocoapods/p/DynamicBlurView.svg?style=flat)](http://cocoadocs.org/docsets/DynamicBlurView)
DynamicBlurView is a dynamic and high performance UIView subclass for Blur.
#### [Appetize's Demo](https://appetize.io/app/9pvxr367tm0jj2bcy8zavxnqkg?device=iphone6&scale=75&orientation=portrait)
![home](https://user-images.githubusercontent.com/5707132/33749021-0342ea8c-dc0f-11e7-9260-af2d2e9c8d0c.gif)![home](https://user-images.githubusercontent.com/5707132/33749025-07595de0-dc0f-11e7-8814-fe757f437b69.png)
- 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`:
```Ruby
pod "DynamicBlurView"
```
#### Carthage
Add the following to your `Cartfile`:
```Ruby
github "KyoheiG3/DynamicBlurView"
```
## Usage
### Example
Blur the whole
```swift
let blurView = DynamicBlurView(frame: view.bounds)
blurView.blurRadius = 10
view.addSubview(blurView)
```
Animation
```swift
UIView.animateWithDuration(0.5) {
blurView.blurRadius = 30
}
```
Ratio
```swift
blurView.blurRatio = 0.5
```
### Variable
```swift
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.
```Swift
var blurRadius: CGFloat
```
- Strength of the blur.
```Swift
var trackingMode: TrackingMode
```
- Mode for update frequency.
- `Common` is constantly updated.
- `Tracking` is only during scrolling update.
- `None` is not update.
```swift
var blendColor: UIColor?
```
- Blend in the blurred image.
```swift
var iterations: Int
```
- Number of times for blur.
- Default is 3.
```swift
var isDeepRendering: Bool
```
- If the view want to render beyond the layer, should be true.
- Default is false.
```swift
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.
```swift
var quality: CaptureQuality
```
- Quality of captured image.
- Default is medium.
### Function
```swift
func refresh()
```
- Remove cache of blur image then get it again.
```swift
func remove()
```
- Remove cache of blur image.
```swift
func animate()
```
- Should use when needs to change layout with animation when is set none of tracking mode.
## Acknowledgements
- Inspired by [FXBlurView](https://github.com/nicklockwood/FXBlurView) in [nicklockwood](https://github.com/nicklockwood).
## Author
#### Kyohei Ito
- [GitHub](https://github.com/kyoheig3)
- [Twitter](https://twitter.com/kyoheig3)
Follow me 🎉
## LICENSE
Under the MIT license. See LICENSE file for details.