Latest | 1.0.0 |
---|---|
Homepage | https://github.com/ildar-gilfanov/SimpleGradientButton |
License | MIT |
Platforms | ios 8.0 |
Authors |
Simple gradient button for iOS written in Swift. You can specify colors for vertical or horizontal gradient without touching Core Animation. Also, it supports rounded corners for your convenience.
Requirements
- iOS 8.0+
- Xcode 10.0+
- Swift 4.2
Installation
CocoaPods
SimpleGradientButton is available through CocoaPods. To install
it, simply add the following line to your Podfile:
pod 'SimpleGradientButton'
Then, run following command:
pod install
Carthage
Carthage is supported too. Add this line to your Cartfile:
github "ildar-gilfanov/SimpleGradientButton" ~> 1.0
Then, run following command:
carthage update
Example
Don’t forget to import module:
import SimpleGradientButton
Simplest example
You create button as normal and pass array of GradientColor to specify colors. Second parameter of constructor is relative position of gradient point.
let button = GradientButton()
button.setTitle("Press me!", for: .normal)
if let color1 = GradientColor(color: .yellow, position: 0),
let color2 = GradientColor(color: .green, position: 1.0) {
button.setGradientColors([color1, color2], for: .normal)
}
Customisation
You can specify gradient direction, corner radius and enable animation for color changing.
let button = GradientButton()
button.setTitle("Press me!", for: .normal)
button.gradientDirection = .horizontal // horizontal or vertical
button.cornerRadius = .specific(4.0) // specific or automatic (height / 2)
button.disableGradientChangeAnimation = false // enable implicit CoreAnimation's animation
// You don't have to sort colors by position
if let color1 = GradientColor(color: .red, position: 0),
let color2 = GradientColor(color: .yellow, position: 1.0),
let color3 = GradientColor(color: .orange, position: 0.5) {
button.setGradientColors([color1, color2, color3], for: .normal)
}
Gradient color is state specific
You can choose different gradients for each state of button.
let button = GradientButton()
button.setTitle("Press me!", for: .normal)
// Gradient from one color is also posible. Position in this case is ignored.
if let color = GradientColor(color: .cyan, position: 0) {
button.setGradientColors([color], for: .normal)
}
if let color1 = GradientColor(color: .green, position: 0),
let color2 = GradientColor(color: .blue, position: 1.0) {
button.setGradientColors([color1, color2], for: .highlighted)
}
License
SimpleGradientButton is available under the MIT license. See the LICENSE file for more info.
Latest podspec
{ "name": "SimpleGradientButton", "version": "1.0.0", "summary": "Simple gradient button", "description": "SimpleGradientButton allows you easily create buttons with gradient and rounded corners.", "homepage": "https://github.com/ildar-gilfanov/SimpleGradientButton", "license": { "type": "MIT", "file": "LICENSE" }, "authors": { "Ildar Gilfanov": "[email protected]" }, "source": { "git": "https://github.com/ildar-gilfanov/SimpleGradientButton.git", "tag": "1.0.0" }, "swift_version": "4.2", "platforms": { "ios": "8.0" }, "source_files": "Sources/**/*" }
Tue, 20 Nov 2018 16:20:04 +0000