实现颜色渐变
来源:互联网 发布:如何管理淘宝客服 编辑:程序博客网 时间:2024/05/11 12:04
第一种方法:
@property(nonatomic, assign)CGPoint inputPoint0; // 这两个点事定义颜色渐变的区域@property(nonatomic, assign)CGPoint inputPoint1;@property(nonatomic, strong)UIColor *inputColor0; // 这两种颜色定义起始到结束的颜色@property(nonatomic, strong)UIColor *inputColor1;_inputPoint0 = CGPointMake(0, 0); _inputPoint1 = CGPointMake(1, 1); _inputColor0 = [UIColor orangeColor]; _inputColor1 = [UIColor greenColor]; // 实现 CAGradientLayer *gradientLayer = [[CAGradientLayer alloc] init]; gradientLayer.colors = @[(__bridge id)_inputColor0.CGColor, (__bridge id)_inputColor1.CGColor]; gradientLayer.startPoint = _inputPoint0; gradientLayer.endPoint = _inputPoint1; gradientLayer.frame = self.view.bounds; [self.view.layer addSublayer:gradientLayer];// 实现方式一// 在目标view使用masonry进行约束时, 为了使颜色渐变layer生效, 需要在viewController中加上- (void)viewDidLayoutSubviews { // 在view的bounds改变时, 调整layer的大小 gradientLayer.frame = blockSelf.bottomLabel.bounds; //左边为layer, 右边是目标view}// 实现方式二// 直接对view的layer进行操作_label = [[UILabel alloc] init];// label.frame = CGRectMake(100, 100, 200, 300); [self.view addSubview:_label]; _label.center = self.view.center; _label.layer.borderWidth = 1; [_label mas_makeConstraints:^(MASConstraintMaker *make) { make.left.and.top.offset(50); make.center.equalTo(self.view); }];// label.backgroundColor = [UIColor grayColor]; [self setupGradientLayer:(CAGradientLayer *)_label.layer];- (void)setupGradientLayer:(CAGradientLayer *)gradientLayer {// _gradientLayer = [[CAGradientLayer alloc] init]; gradientLayer.colors = @[(__bridge id)[UIColor orangeColor].CGColor, (__bridge id)[UIColor purpleColor].CGColor, (__bridge id)[UIColor blueColor].CGColor, (__bridge id)[UIColor redColor].CGColor]; gradientLayer.locations = @[@(0), @(0.5), @(0.75), @(1)]; gradientLayer.startPoint = CGPointMake(0, 0); gradientLayer.endPoint = CGPointMake(0, 1);}// 在label的extension中:#import "UILabel+Extension.h"@implementation UILabel (Extension)+ (Class)layerClass { return [CAGradientLayer class];}@end
效果:
0 0
- 实现 颜色渐变
- 背景实现颜色渐变
- CAGradientLayer_实现颜色渐变
- CAGradientLayer实现颜色渐变
- 实现颜色渐变
- android实现颜色渐变
- iOS实现颜色渐变
- iOS 实现颜色渐变
- ios 实现颜色渐变(渐变色)
- 实现透明度渐变和颜色渐变
- 窗体颜色渐变效果实现
- 用CSS实现颜色渐变
- CSS3实现背景颜色渐变
- CSS3实现背景颜色渐变
- unity实现模型颜色渐变
- jQuery/js实现颜色渐变
- ios渐变颜色的实现
- 通过CSS实现颜色渐变
- C语言规范及编译器
- Querydsl使用
- 模型勾边outline的实现与改进
- Android Studio中有没有类似于Eclipse中的ctrl+2+L的快捷键? \Android Studio快捷键之代码提示
- Java web开发基础
- 实现颜色渐变
- Cookie, LocalStorage 与 SessionStorage 区别要点
- 苹果机开发移动app之开发环境准备
- 013——struts2的文件上传
- Android动画(二):帧动画
- Genymotion开启就白屏解决方法
- Google Analytics
- Codeforces-11B-Jumping Jack
- Java Basics Part 18/20 - Files and I/O