Skip to content
This repository has been archived by the owner on Mar 14, 2022. It is now read-only.
/ AngleGradientLayer Public archive

Angle gradients for iOS

License

Notifications You must be signed in to change notification settings

paiv/AngleGradientLayer

Repository files navigation

Deprecation

This library is deprecated in favor of iOS 12 CAGradientLayer layer type .conic

See ConicSample project for CAGradientLayer examples ported from AngleGradientLayer.

standwithukraine cocoapods

AngleGradientLayer

AngleGradientLayer is a CALayer implementation of angle gradient.

screenshot

Installing

pod 'AngleGradientLayer', '~> 1.0'

[Swift] Using in your code

import AngleGradientLayer

class MyView: UIView {

    override class func layerClass() -> AnyClass {
        return AngleGradientLayer.self
    }

    override init(frame: CGRect) {
        super.init(frame: frame)

        let l: AngleGradientLayer = self.layer as! AngleGradientLayer
        l.colors = [
            UIColor(red: 0, green: 0, blue: 0.5, alpha: 1).CGColor,
            UIColor(red: 1, green: 1, blue: 0.4, alpha: 1).CGColor]
    }
}

[Objective-C] Using in your code

(See demo project for more.)

#import "AngleGradientLayer.h"

@interface MyView : UIView
@end

@implementation MyView

+ (Class)layerClass
{
	return [AngleGradientLayer class];
}

- (id)initWithFrame:(CGRect)frame
{
	if (!(self = [super initWithFrame:frame]))
		return nil;

	AngleGradientLayer *l = (AngleGradientLayer *)self.layer;
	l.colors = [NSArray arrayWithObjects:
		(id)[UIColor colorWithRed:0 green:0 blue:0.5 alpha:1].CGColor,
		(id)[UIColor colorWithRed:1 green:1 blue:0.4 alpha:1].CGColor,
		nil];

	return self;
}

@end

Notes

When working with semi-transparent views, be sure to set backgroundColor property on the layer's view

myview.backgroundColor = UIColor.clearColor()

backgroundColor by default is nil, blending to black color.