Latest 1.0.1
Homepage https://github.com/SomeRandomiOSDev/JNGradientLabel
License MIT
Platforms ios 8.0, requires ARC
Frameworks UIKit, CoreGraphics
Authors

Gradient Label

An iOS UILabel subclass that uses gradients as its text or background color.

Version
License
Platform

Installation

JNGradientLabel is available through CocoaPods. To install
it, simply add the following line to your Podfile:

pod 'JNGradientLabel'

Usage

First import JNGradientLabel at the top of your Swift file:

import JNGradientLabel
@import JNGradientLabel;

After initializing the label (from a Storyboard/XIB or manually) call one of following methods:

// To produce an `Axial` (Linear) gradient
label.setAxialGradientParameters(startPoint: startPoint,
                                   endPoint: endPoint,
                                     colors: gradientColors,
                                  locations: gradientlocations,
                                    options: ... /* Optional CGGradientDrawingOptions parameter */)

OR

// To produce a `Radial` gradient
label.setRadialGradientParameters(startCenter: startCenter,
                                  startRadius: startRadius,
                                    endCenter: endCenter,
                                    endRadius: endRadius,
                                       colors: gradientColors,
                                    locations: gradientlocations,
                             radiiScalingRule: ... /* Optional RadialGradientRadiiScalingRule parameter */,
                                      options: ... /* Optional CGGradientDrawingOptions parameter */)
// To produce an `Axial` (Linear) gradient
[label setAxialGradientParametersWithStartPoint:startPoint 
                                       endPoint:endPoint 
                                         colors:gradientColors 
                                      locations:gradientLocations
                                        options:gradientDrawingOptions];

OR

// To produce a `Radial` gradient
[label setRadialGradientParametersWithStartCenter:startCenter 
                                      startRadius:startRadius 
                                        endCenter:endCenter 
                                        endRadius:endRadius 
                                           colors:gradientColors 
                                        locations:gradientLocations 
                                 radiiScalingRule:radiiScalingRule 
                                          options:gradientDrawingOptions];

And thats it!

By default, the label draws the gradient as the color of the text. The label also supports drawing the gradient as the background of the text. To do this, simply set the textGradientLocation property as follows:

label.textGradientLocation = .background
label.textGradientLocation = TextGradientLocationBackground;

OR 

[label setTextGradientLocation:TextGradientLocationBackground];

Screenshots

Foreground Axial Gradient:
Foreground Axial Gradient

Foreground Radial Gradient:
Foreground Radial Gradient

Background Axial Gradient:
Background Axial Gradient

Background Radial Gradient:
Background Radial Gradient

Author

Joseph Newton, [email protected]

License

JNGradientLabel is available under the MIT license. See the LICENSE file for more info.

Latest podspec

{
    "name": "JNGradientLabel",
    "version": "1.0.1",
    "summary": "A `UILabel` subclass with a gradient color",
    "description": "An iOS Swift framework that that provides a `UILabel` subclass that renders its text with a gradient color",
    "homepage": "https://github.com/SomeRandomiOSDev/JNGradientLabel",
    "license": "MIT",
    "authors": {
        "Joseph Newton": "[email protected]"
    },
    "platforms": {
        "ios": "8.0"
    },
    "source": {
        "git": "https://github.com/SomeRandomiOSDev/JNGradientLabel.git",
        "tag": "1.0.1"
    },
    "source_files": "JNGradientLabel/Classes/**/*",
    "frameworks": [
        "UIKit",
        "CoreGraphics"
    ],
    "swift_version": "4.0",
    "requires_arc": true
}

Pin It on Pinterest

Share This