漸變色效果demo

#import "ViewController.h"

@interface ViewController ()

@property (strong, nonatomic) CAGradientLayer *gradientLayer;

@property (strong, nonatomic) NSTimer *timer;

@end

@implementation ViewController

- (void)viewDidLoad {

[super viewDidLoad];

//初始化imageView

UIImageView *imageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"image"]];

imageView.frame = CGRectMake(0, 0, self.view.bounds.size.width, 200);

imageView.center = self.view.center;

[self.view addSubview:imageView];

//初始化漸變層

self.gradientLayer = [CAGradientLayer layer];

self.gradientLayer.frame = imageView.bounds;

[imageView.layer addSublayer:self.gradientLayer];

//設置漸變顏色方向

self.gradientLayer.startPoint = CGPointMake(0, 0);

self.gradientLayer.endPoint = CGPointMake(0, 1);

//設定顏色組

self.gradientLayer.colors = @[(__bridge id)[UIColor clearColor].CGColor,

(__bridge id)[UIColor purpleColor].CGColor];

//設定顏色分割點

self.gradientLayer.locations = @[@(0.5f) ,@(1.0f)];

//定時器

//? ? self.timer = [NSTimer scheduledTimerWithTimeInterval:2.0f

//? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? target:self

//? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? selector:@selector(TimerEvent)

//? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? userInfo:nil

//? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? repeats:YES];

}

- (void)TimerEvent

{

//定時改變顏色

self.gradientLayer.colors = @[(__bridge id)[UIColor clearColor].CGColor,

(__bridge id)[UIColor colorWithRed:arc4random() % 255 / 255.0

green:arc4random() % 255 / 255.0

blue:arc4random() % 255 / 255.0

alpha:1.0].CGColor];

//定時改變分割點

self.gradientLayer.locations = @[@(arc4random() % 10 / 10.0f), @(1.0f)];

}

@end

最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內(nèi)容