ShadowView is an iOS Shadow library that makes view's shadow implementation easy and sweet ๐ ๐.
Add simple shadows to add a gaussian blurred projection (as a shadow) to any UIView.
- Add shadow easily from the storyboard and programmatically.
- Add a gaussian blurred projection of your view (like iOS 10 music app).
- Customize the border width and border color of any view from storyboard .
- iOS 9.0+
- Xcode 8
You can use CocoaPods to install ShadowView by adding it to your Podfile:
source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '9.0'
use_frameworks!
target '<Your Target Name>' do
pod 'ShadowView'
end- Install Carthage via Homebrew
$ brew update
$ brew install carthage- 
Add github "PierrePerrin/ShadowView"to your Cartfile.
- 
Run carthage update.
- 
Drag ShadowView.frameworkfrom theCarthage/Build/iOS/directory to theLinked Frameworks and Librariessection of your Xcode projectโsGeneralsettings.
- 
Add $(SRCROOT)/Carthage/Build/iOS/ShadowView.frameworktoInput Filesof Run Script Phase for Carthage.
- Download and drop all files in ShadowView directory in your project.
- Nice Job the best shadow library is now installed! ๐ ๐ ๐
To get the full benefits import ShadowView wherever you import UIKit
import UIKit
import ShadowViewThis shadow framework uses default CoreGraphics shadows by adding it the the layer of the view.
layer.shadowColor : CGColor
layer.shadowRadius : CGFloat
layer.shadowOffset : CGSize
layer.shadowOpacity : Float
layer.shadowPath : CGPath?Here the implemation is different. A shadow container need to be added and all views that needs a blurred shadow need to be subviews of this container.
 The container takes a screen of all it's subviews and then apply blur on it.
The container takes a screen of all it's subviews and then apply blur on it.
Any view has new paramerters in the storyboar that you can change in order to add a customize shadow to your view.
Add an UIView to you ViewController, change it class to ShadowView and insert in it all view that needs a blurred shadow.

Set the shadows parameters to your view and it the shadow will appear! ๐
view.shadowRadius = 5
view.shadowOffset = CGSize.zero
view.shadowColor = UIColor.black.cgColor
view.shadowOpacity = 0.3Create you container ShadowView and then add views that need Shadows inside of it.
    let exampleShadowContainerView = ShadowView()
    let imageView = UIImageView(image: #imageLiteral(resourceName: "sample.jpg"))
    override func loadView() {
        super.loadView()
        exampleShadowContainerView.frame = self.view.bounds
        exampleShadowContainerView.autoresizingMask = [.flexibleWidth,.flexibleHeight]
        exampleShadowContainerView.shadowOffset = CGSize(width: 0, height: 10)
        exampleShadowContainerView.shadowRadius = 20
        self.view.addSubview(exampleShadowContainerView)
        self.exampleShadowContainerView.addSubview(imageView)
        imageView.center = exampleShadowContainerView.center
    }
    override func viewDidLayoutSubviews() {
        super.viewDidLayoutSubviews()
        imageView.frame.size = CGSize(width: 200, height: 200)
        imageView.center = exampleShadowContainerView.center
        self.exampleShadowContainerView.updateShadow()
    }Please see the example for more prescisions.
//Shared Paramerters
@IBInspectable public var shadowRadius : CGFloat
@IBInspectable public var shadowOffset : CGSize
@IBInspectable public var shadowColor : UIColor?
@IBInspectable public var shadowOpacity : Float
//Normal Shadow
@IBInspectable var shadowPath : CGPath?
//ShadowView only
///It changes the size of the projected shadow view.
@IBInspectable var shadowScale : CGFloat
///Changes the tint color of the blurred image
@IBInspectable var shadowTintColor : UIColor
///Changes the saturation of the blurred image (default:1)
@IBInspectable var shadowSaturation : CGFloatDon't use Views like Sliders or ActivityIndicators, the shadow don't update un real-time. It's preferable to use statics Views like Labels, images...
We would love you for the contribution to ShadowView, check the LICENSE file for more info.
If you find an issue, open a ticket on it.
Pierre Perrin โ pierreperrin@outlook.com
Distributed under the MIT license. See LICENSE for more information.

