产生渐变色的view

效果

源码

https://github.com/YouXianMing/GradientColorView

//
//  GradientColorView.h
//  GradientColorView
//
//  Created by YouXianMing on 15/12/15.
//  Copyright © 2015年 YouXianMing. All rights reserved.
//

#import <UIKit/UIKit.h>

@interface GradientColorView : UIView

/**
 *  CGColor‘s array.
 */
@property (nonatomic, strong) NSArray   *colors;

/**
 *  CGColor‘s location.
 */
@property (nonatomic, strong) NSArray   *locations;

/**
 *  Start point.
 */
@property (nonatomic) CGPoint startPoint;

/**
 *  End point.
 */
@property (nonatomic) CGPoint endPoint;

/**
 *  After you have set all the properties, you should run this method to make effective.
 */
- (void)becomeEffective;

@end
//
//  GradientColorView.m
//  GradientColorView
//
//  Created by YouXianMing on 15/12/15.
//  Copyright © 2015年 YouXianMing. All rights reserved.
//

#import "GradientColorView.h"

@interface GradientColorView ()

@property (nonatomic, strong) CAGradientLayer  *gradientLayer;

@end

@implementation GradientColorView

+ (Class)layerClass {

    return [CAGradientLayer class];
}

- (instancetype)initWithFrame:(CGRect)frame {

    if (self = [super initWithFrame:frame]) {

        _gradientLayer  = (CAGradientLayer *)self.layer;
        self.startPoint = CGPointMake(0, 0);
        self.endPoint   = CGPointMake(1, 0);
        self.locations  = @[@(0.25), @(0.5), @(0.75)];
        self.colors     = @[(__bridge id)[UIColor redColor].CGColor,
                            (__bridge id)[UIColor greenColor].CGColor,
                            (__bridge id)[UIColor blueColor].CGColor];
    }

    return self;
}

- (void)becomeEffective {

    self.gradientLayer.startPoint = self.startPoint;
    self.gradientLayer.endPoint   = self.endPoint;
    self.gradientLayer.colors     = self.colors;
    self.gradientLayer.locations  = self.locations;
}

@end

细节

时间: 2024-10-05 04:27:33

产生渐变色的view的相关文章

android里shape与渐变色学习

先说下shape 资源文件里主要包括:边角(corners),渐变色(gradrent),大小(size),边距(padding) ,填充(solid),扫边(stoke) 先说下边角 [html] view plain copy <corners android:radius="" android:topLeftRadius="" android:topRightRadius="" android:bottomLeftRadius=&qu

六、CCLayer

一个游戏中可以有很多个场景,每个场景里面又可能包含有多个图层,这里的图层一般就是CCLayer对象.CCLayer本身几乎没什么功能,对比CCNode,CCLayer可用于接收触摸和加速计输入.其实,cocos2d对图层并没有严格的要求,图层不一定要使用CCLayer类,它也可以是一个简单的CCNode,为什么呢?我们新建一个图层不就是为了能够容纳更多的子节点么,CCNode也可以添加子节点啊.所以,如果你的图层不需要接收触摸和加速计输入,就尽量使用CCNode表示图层,CCLayer因为能够接

cocos2D(六)----CCLayer

一个游戏中能够有非常多个场景,每一个场景里面又可能包括有多个图层,这里的图层一般就是CCLayer对象.CCLayer本身差点儿没什么功能.对照CCNode,CCLayer可用于接收触摸和加速计输入.事实上.cocos2d对图层并没有严格的要求,图层不一定要使用CCLayer类,它也能够是一个简单的CCNode.为什么呢?我们新建一个图层不就是为了能够容纳很多其它的子节点么,CCNode也能够加入子节点啊.所以.假设你的图层不须要接收触摸和加速计输入,就尽量使用CCNode表示图层,CCLaye

[控件] AngleGradientView

AngleGradientView 效果 说明 1. 用源码产生带环形渐变色的view 2. 可以配合maskView一起使用 (上图中的右下角图片的效果) 源码 https://github.com/YouXianMing/GradientLayerView https://github.com/paiv/AngleGradientLayer // // AngleGradientView.h // GradientLayer // // Created by YouXianMing on 1

好吧就让我们结束这一切吧

http://www.tudou.com/programs/view/K7lbU7LsiJI/HGN13.htmlhttp://www.tudou.com/programs/view/SfcF7r7DsCk/XCWU7.htmlhttp://www.tudou.com/programs/view/BbljqbN52ZY/ieGvM.htmlhttp://www.tudou.com/programs/view/R4thdEitDik/17gGr.htmlhttp://www.tudou.com/p

法涉法而尴尬的收入法国

http://www.tudou.com/programs/view/pQOO07vn4Sc/l99Fi.htmlhttp://www.tudou.com/programs/view/EDJkM6ojYkc/r7RA6.htmlhttp://www.tudou.com/programs/view/Gf0zVZygPtU/EmvXY.htmlhttp://www.tudou.com/programs/view/UhqFbgbyQ6k/Z23Lx.htmlhttp://www.tudou.com/p

我不要说谎好吗

http://www.tudou.com/programs/view/KhjSmQKHEzM/McEy9.htmlhttp://www.tudou.com/programs/view/5FNDTTRKi6Y/9719g.htmlhttp://www.tudou.com/programs/view/UWFf0dz2DEk/3xPj2.htmlhttp://www.tudou.com/programs/view/b2zsYr4dCZg/gv6FP.htmlhttp://www.tudou.com/p

我不要说谎

http://www.tudou.com/programs/view/KhjSmQKHEzM/McEy9.htmlhttp://www.tudou.com/programs/view/5FNDTTRKi6Y/9719g.htmlhttp://www.tudou.com/programs/view/UWFf0dz2DEk/3xPj2.htmlhttp://www.tudou.com/programs/view/b2zsYr4dCZg/gv6FP.htmlhttp://www.tudou.com/p

view渐变色,透明度渐变

1 功能描述 开发中经常遇到这样的需求:view2显示在view1上面,透过view2可以渐渐的看到view1.效果如图1所示:view1是一个imageView,view2是一个普通view.view1与view2完全重叠,view2从下到上由灰色到白色,由不透明到透明.图2为只有view2的效果,图3为只有view1的效果. 2 代码如下 如果只想颜色渐变,而不需要透明度的渐变,可以将alpha设为1.0. 1 - (void)viewDidLoad { 2 [super viewDidLo