- Beautiful, automatically generated gradients from uiGradients in Swift.
- Smoothly animating, randomizable gradient views.
- Life is like a box of chocolates.
iOS 9 & Swift 4 / 5.
To install Randient using CocoaPods, add this line to your Podfile
:
pod 'Randient'
To install Randient using Carthage, add this line to your Cartfile
:
github "Randient"
RandientView
is a simple view that will display a randomly selected gradient from the uiGradients catalog.
let randientView = RandientView()
randientView.frame = CGRect(x: 0, y: 0, width: 100, height: 100)
view.addSubview(randientView)
Updating to a new gradient is as simple as...
randientView.randomize(animated: true)
An enum of all the gradients from uiGradients is generated every time that Randient is built.
These are available as an enum via UIGradient
.
let gradient = UIGradient.royalBlue
let colors = gradient.data.colors
If you're feeling lucky, a randomized UIGradient
can also be retrieved.
let randomGradient = Randient.randomize()
Each UIGradient
has associated Data
which can be accessed via .data
.
struct Data {
public let name: String
public let colors: [UIColor]
}
Metadata
is also available, accessible via .metadata
.
struct Metadata {
public let isPredominantlyLight: Bool
}
RandientView
inherits from GradientView
, which under the hood uses simply uses a CAGradientLayer
for rendering gradients.
GradientView
provides the following:
.colors: [UIColor]?
- Colors of the gradient..locations: [Double]?
- Locations of each gradient stop..startPoint: CGPoint
- Start point of the gradient (Defaults to0.5, 0.0
)..endPoint: CGPoint
- End point of the gradient (Defaults to0.5, 1.0
).
- Created by Merrick Sapsford (@MerrickSapsford)
- Heavily inspired by UIColor-uiGradientsAdditions by kaiinui.
Bug reports and pull requests are welcome on GitHub at https://github.com/uias/Randient.
The library is available as open source under the terms of the MIT License.