Awesome
MaskedLabel
Swift Version | MaskedLabel View Version |
---|---|
3.1 | 0.9.0 |
MaskedLabel is a UILabel subclass that allows you to easily apply a gradient to its text or to make it transparent.
Installation
CocoaPods
CocoaPods is a dependency manager for Cocoa projects. You can install it with the following command:
$ gem install cocoapods
To integrate MaskedLabel into your Xcode project using CocoaPods, specify it in your Podfile
:
source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '10.0'
use_frameworks!
target '<Your Target Name>' do
pod 'MaskedLabel', '~> 0.9.2'
end
Then, run the following command:
$ pod install
Carthage
Carthage is a decentralized dependency manager that builds your dependencies and provides you with binary frameworks.
You can install Carthage with Homebrew using the following command:
$ brew update
$ brew install carthage
To integrate MaskedLabel into your Xcode project using Carthage, specify it in your Cartfile
:
github "darincon/MaskedLabel" ~> 0.9.2
Run carthage update
to build the framework and drag the built MaskedLabel.framework
into your Xcode project.
Manually
If you prefer not to use either of the aforementioned dependency managers, you can integrate MaskedLabel into your project manually.
Usage
MaskedLabel can be used both programmatically and with storyboards.
Storyboards
Add a UILabel to your storyboard and change its class to MaskedLabel.
Programatically
- Initialization without parameters
let maskedLabel = MaskedLabel()
- Initialization with frame
let maskedLabel = MaskedLabel(frame: CGRect(x: 10, y: 50, width: 200, height: 100))
Setup
There are a few properties you can set to obtain the desired behavior:
- gradientColors: An array of UIColor that defines the gradient. If it contains only one element, it will be applied as start and end color. In case this property is nil or an empty array, the value of fillColor will be used instead.
- gradientLocations: The location for each color provided in components. Each location must be a CGFloat value in the range of 0 to 1, inclusive. If 0 and 1 are not in the locations array, Quartz uses the colors provided that are closest to 0 and 1 for those locations.
- startPoint: The coordinate that defines the starting point of the gradient.
- endPoint: The coordinate that defines the ending point of the gradient.
- fillColor: Set this property when a constant color is needed instead of a gradient. If both this property and gradientColors are set, this color is omitted and the gradient will be applied to the text. The default color is black.
- fillOption: A constant indicating if the gradient, or color, will be applied to the label's background, making the text transparent, or to the text.
Example
let maskedLabel = MaskedLabel()
maskedLabel.gradientColors = [UIColor.red, UIColor.blue]
maskedLabel.startPoint = CGPoint(x: 0.0, y: 0.0)
maskedLabel.endPoint = CGPoint(x: maskedLabel.frame.width, y: maskedLabel.frame.height)
maskedLabel.fillOption = .background
maskedLabel.text = "MaskedLabel"
License
ViewControllerStates is released under the MIT license. See license for details.