Latest 0.9.2
License MIT
Platforms ios 10.0, requires ARC

Language Platform CocoaPods compatible Carthage compatible License

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.

alt tag



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 ''
platform :ios, '10.0'

target '<Your Target Name>' do
    pod 'MaskedLabel', '~> 0.9.2'

Then, run the following command:

$ pod install


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.


If you prefer not to use either of the aforementioned dependency managers, you can integrate MaskedLabel into your project manually.


MaskedLabel can be used both programmatically and with storyboards.


Add a UILabel to your storyboard and change its class to MaskedLabel.


  • Initialization without parameters
let maskedLabel = MaskedLabel()
  • Initialization with frame
let maskedLabel = MaskedLabel(frame: CGRect(x: 10, y: 50, width: 200, height: 100))


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.


let maskedLabel = MaskedLabel()
maskedLabel.gradientColors = [,]
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"


ViewControllerStates is released under the MIT license. See license for details.

Latest podspec

    "name": "MaskedLabel",
    "version": "0.9.2",
    "license": {
        "type": "MIT",
        "file": "LICENSE"
    "summary": "MaskedLabel is a UILabel subclass that allows you to easily apply a gradient to its text or to make it transparent.",
    "homepage": "",
    "authors": {
        "darincon": "[email protected]"
    "social_media_url": "",
    "source": {
        "git": "",
        "tag": "0.9.2"
    "platforms": {
        "ios": "10.0"
    "source_files": "MaskedLabel/*.swift",
    "requires_arc": true,
    "pushed_with_swift_version": "3.1"

Pin It on Pinterest

Share This