CAGradientLayer的使用

原文:

http://blog.csdn.net/hdfqq188816190/article/details/51014741

CAGradientLayer可以方便的处理颜色渐变

效果:

代码如下:

 CAGradientLayer* colorLayer = [[CAGradientLayer alloc]init];
    colorLayer.frame = CGRectMake(0, 100, 200, 100);
    // 颜色分类
    colorLayer.colors = @[(__bridge id)[UIColor redColor].CGColor,
                          (__bridge id)[UIColor blueColor].CGColor,
                          (__bridge id)[UIColor yellowColor].CGColor];
    // 颜色渐变起始点  分别对应上述颜色
    colorLayer.locations = @[@0.25,@0.5,@0.75];
    // 起始点
    colorLayer.startPoint = CGPointMake(0, 0);
    // 结束点
    colorLayer.endPoint = CGPointMake(1, 0);

    [self.view.layer addSublayer:colorLayer];

颜色分配严格遵守Layer的坐标系统,locations,startPoint,endPoint都是以Layer坐标系统进行计算的.

备注:layer坐标系统

而locations并不是表示颜色值所在位置,它表示的是颜色在Layer坐标系相对位置处要开始进行渐变颜色

对于单色的渐变效果如下:

代码如下:

UIView* view = [[UIView alloc]initWithFrame:CGRectMake(0, 50, self.view.bounds.size.width, 60)];
    [self.view addSubview:view];

    CAGradientLayer* layer = [[CAGradientLayer alloc]init];
    UIColor* color1 = [UIColor colorWithRed:0 green:0 blue:0 alpha:0.1];
    UIColor* color2 = [UIColor colorWithRed:0 green:0 blue:0 alpha:0.06];
    UIColor* color3 = [UIColor colorWithRed:0 green:0 blue:0 alpha:0.01];
    layer.colors = @[(__bridge id)color1.CGColor,(__bridge id)color2.CGColor,(__bridge id)color3.CGColor];
    layer.locations = @[@0.3,@0.7,@1];
    layer.frame = CGRectMake(0, 0, self.view.bounds.size.width, 60);
    layer.startPoint = CGPointMake(0, 0);
    layer.endPoint = CGPointMake(0.0, 1.0);
    [view.layer addSublayer:layer];
    self.layer = layer;
时间: 2024-11-02 15:49:54

CAGradientLayer的使用的相关文章

将CAGradientLayer用作maskView的遮罩图层

说明 CAGradientLayer可以用作alpha遮罩,供maskView使用,这两种东西都是非常偏门的东西,但是,偏门不代表功能不强大,我们可以用CAGradientLayer制作出非常牛逼的动画效果,此博文,本人抛砖引玉简易介绍怎么将CAGradientLayer与maskView联系上.后续博文会陆续扩展并写出更好的控件. 只有完美的UI交互效果才能够为功能强大的app锦上添花,本人致力于研究分析苹果开发中那些巨牛逼但却无人问津的冷门特效. 效果图 源码 // // CAGradien

Animated progress view with CAGradientLayer(带翻译)

原文网址:使用CAGradientLayer的动画精度条View Modern software design is getting flatter and thinner all the time. Another trend that follows suit is the thin, one pixel progress bar that you see at the top of websites and apps. You’ve seen in it on Medium blogs,

CAGradientLayer实现图片渐变透明效果

CAGradientLayer实现图片渐变透明效果 要实现的效果如下: 源码: // // RootViewController.m // CAGradientLayer // // Copyright (c) 2014年 Y.X. All rights reserved. // #import "RootViewController.h" #import "YXGCD.h" @interface RootViewController () @property (n

CAGradientLayer的一些属性解析-b

CAGradientLayer的一些属性解析 iOS中Layer的坐标系统: 效果: - (void)viewDidLoad { [super viewDidLoad]; CAGradientLayer *colorLayer = [CAGradientLayer layer]; colorLayer.frame = (CGRect){CGPointZero, CGSizeMake(200, 200)}; colorLayer.position = self.view.center; [self

CAGradientLayer的一些属性解析

iOS中Layer的坐标系统: 效果: - (void)viewDidLoad { [super viewDidLoad]; CAGradientLayer *colorLayer = [CAGradientLayer layer]; colorLayer.frame = (CGRect){CGPointZero, CGSizeMake(200, 200)}; colorLayer.position = self.view.center; [self.view.layer addSublayer

CAGradientLayer

一 简介 1,CAGradientLayer,处理颜色渐变: 2,CAGradientLayer的渐变色可以做隐式动画: 3,大部分情况下,CAGradientLayer都是与CAShapeLayer配合使用的 4,CAGradientLayer可以用作png遮照效果. 二 坐标系统 三 色差动画实现 四 用CAGradientLayer封装色差动画的view

IOS CAShapeLayer CAGradientLayer UIBezierPath 使用实例

CGRect rect = CGRectMake(100, 100, 100, 100); UIView * bgView = [[UIView alloc]initWithFrame:rect]; bgView.backgroundColor = [UIColor grayColor]; [self.view addSubview:bgView]; CAShapeLayer * trackLayer = [CAShapeLayer layer]; trackLayer.frame = bgVi

CAGradientLayer功能

一.CAGradientLayer介绍 1.CAGradientLayer是用于处理渐变色的层结构 2.CAGradientLayer的渐变色能够做隐式动画 3.大部分情况下.CAGradientLayer都是与CAShapeLayer配合使用的 4.CAGradientLayer能够用作png遮罩效果 二.CAGradientLayer坐标系统 1.CAGradientLayer的坐标系统是从坐标(0,0)到(1,1)绘制的矩形 2.CAGradientLayer的frame值的size不为正

颜色线性渐变-CAGradientLayer

我们先来看一下效果图吧: 其实,就是一个颜色的线性渐变,使用CAGradientLayer很容易就能实现.由于代码很简单,就不做过多讲解了,直接看代码吧. 1 import UIKit 2 3 class ViewController: UIViewController { 4 5 override func viewDidLoad() { 6 super.viewDidLoad() 7 setupBackgroundLayer() 8 } 9 10 private func setupBack

CAGradientLayer渐变颜色动画

CAGradientLayer渐变颜色动画 或许你用过CAGradientLayer,你知道他是用于渐变颜色的,但你是否直到,CAGradientLayer的渐变颜色是可以动画的哦. 源码: // // RootViewController.m // CAGradientLayer // // Copyright (c) 2014年 Y.X. All rights reserved. // #import "RootViewController.h" #import "CAS