; _contentLayer.lineWidth = 4; _contentLayer.strokeColor = [UIColor grayColor].CGColor; [ ,(id)_midLineColor.CGColor]]; [_gradLayerL setColors:@[(id)_maxLineColor.CGColor,(id)_midLineColor.CGColor ,(id)_midLineColor.CGColor]]; [_gradLayerL setColors:@[(id)_maxLineColor.CGColor,(id)_midLineColor.CGColor ,(id)_midLineColor.CGColor]]; [_gradLayerL setColors:@[(id)_maxLineColor.CGColor,(id)_midLineColor.CGColor ; _shapeLayer.lineWidth = lineWidth; _shapeLayer.strokeColor = [UIColor redColor].CGColor;
userInteractionEnabled 设置边框: view.layer.borderWidth = 20 view.layer.borderColor = UIColor.lightGray.cgColor 设置阴影: view.layer.shadowColor = UIColor.black.cgColor view.layer.shadowOffset = CGSize(width:10.0,height setFillColor(color.cgColor) ctx?. gradientLayer = CAGradientLayer() gradientLayer.frame = gradientView.frame let fromColor = UIColor.yellow.cgColor let midColor = UIColor.blue.cgColor let toColor = UIColor.red.cgColor gradientLayer.colors = [fromColor
barViewTableView.bounds.size.width+50*RATIO, 365*RATIO); gradient.colors = @[(__bridge id)UIColor.clearColor.CGColor , (__bridge id)UIColor.whiteColor.CGColor, (_ _bridge id)UIColor.whiteColor.CGColor, (__bridge id)UIColor.clearColor.CGColor
gradientLayer2 = [CAGradientLayer layer]; gradientLayer2.colors = @[(__bridge id)[UIColor redColor].CGColor , (__bridge id)[UIColor yellowColor].CGColor, (__bridge id)[UIColor blueColor].CGColor]; gradientLayer2 /2.渐变转换为图形形成动画 CALayer *layer = [CALayer layer]; layer.backgroundColor = [UIColor redColor].CGColor / // //颜色渐变 NSMutableArray *colors = [NSMutableArray arrayWithObjects:(id)[UIColor redColor].CGColor ,(id)[UIColor whiteColor].CGColor, nil]; CAGradientLayer *gradientLayer = [CAGradientLayer layer]
shapeLayer.strokeColor = UIColor.red.cgColor shapeLayer.lineWidth = 10 (滑动显示更多) 效果如下: 接下来为view添加一个点击手势 shapeLayer.fillColor = UIColor.clear.cgColor (滑动显示更多) 接下来为进度条添加一个底部轨道(track layer)。 () trackLayer.path = circularPath.cgPath trackLayer.strokeColor = UIColor.lightGray.cgColor () trackLayer.path = circularPath.cgPath trackLayer.strokeColor = UIColor.lightGray.cgColor () trackLayer.path = circularPath.cgPath trackLayer.strokeColor = UIColor.lightGray.cgColor
gradientLayer.frame = myView.bounds; // 设置渐变颜色数组 gradientLayer.colors = @[(__bridge id)[UIColor redColor].CGColor ,(__bridge id)[UIColor greenColor].CGColor,(__bridge id)[UIColor blueColor].CGColor]; // 渐变颜色的区间分布 gradientLayer = [CAGradientLayer layer]; gradientLayer.colors = @[(__bridge id)FHCColorFromRGB(0x01b6ff).CGColor , (__bridge id)FHCColorFromRGB(0x4392f6).CGColor]; gradientLayer.locations = @[@0.1, @1.0]; gradientLayer.startPoint
CAShapeLayer * shapeLayer = [CAShapeLayer layer]; shapeLayer.backgroundColor = [UIColor yellowColor].CGColor 300, 50); shapeLayer.position = self.view.center; shapeLayer.fillColor = [UIColor clearColor].CGColor CAShapeLayer * shapeLayer2 = [CAShapeLayer layer]; shapeLayer2.backgroundColor = [UIColor blueColor].CGColor ; shapeLayer2.strokeColor = [UIColor redColor].CGColor; shapeLayer2.path = path2.CGPath; shapeLayer.path = [self getStarOneBezierPath].CGPath; _shapeLayer.fillColor = [UIColor clearColor].CGColor
CGColorEqualToColor([btn.titleLabel.textColor CGColor], [[UIColor grayColor] CGColor])) { CGColorEqualToColor([btn.titleLabel.textColor CGColor], [[UIColor grayColor] CGColor])) { btn.layer.borderColor = [[UIColor grayColor]CGColor]; btn.layer.borderWidth=1 CGColorEqualToColor([btn.titleLabel.textColor CGColor], [[UIColor grayColor] CGColor])) { CGColorEqualToColor([btn.titleLabel.textColor CGColor], [[UIColor grayColor] CGColor])) {
index += 1; } _chartLine.path = progressline.CGPath; _chartLine.strokeColor = [UUGreen CGColor :point]; 设置 CAShapeLayer 的fillColor 为 clearColor _chartLine.fillColor = [[UIColor clearColor] CGColor ; circle.strokeColor = [UIColor magentaColor].CGColor; //lineWidth必须设置为radius的2倍 circle.lineWidth ; circle1.strokeColor = [UIColor purpleColor].CGColor; circle1.lineWidth = radius*2; circle1. ; circle.strokeColor = [UIColor clearColor].CGColor; circle.strokeStart = 0; circle.strokeEnd =
CAGradientLayer CAGradientLayer * leftL = [self createGradientLayerWithColors:@[(id)[UIColor redColor].CGColor ,(id)[UIColor yellowColor].CGColor]]; leftL.position = CGPointMake(25, 40); // ,(id)[UIColor yellowColor].CGColor]]; rightL.position = CGPointMake(75, 40); // , 75); layer.position = self.view.center; layer.fillColor = [UIColor clearColor].CGColor layer.strokeColor = [UIColor colorWithRed:33 / 255.0 green:192 / 255.0 blue:250 / 255.0 alpha:1].CGColor
IB 下UserDefined Runtime Attributes 面板 原因: 找到原因在于borderColor接受的参数是CGColor类型,而此处的Color为UIColor,所以导致注入时参数类型不一致 RumtimeAttribute) - (void)setBorderIBColor:(UIColor*)borderIBColor { self.borderColor= borderIBColor.CGColor 可以用一下方法(我没有试) import Foundation extension CALayer{ //解决IB中runtime attribute中layer.borderColor不能转换UIColor为CGColor var borderColorFromUIColor:UIColor{ set(color){ self.borderColor = color.CGColor; } get{ returnUIColor (CGColor:self.borderColor) } } } 最后感谢大神们:Is it possible to set UIView border properties from interface
let colorOne = #colorLiteral(red: 0.2392156869, green: 0.6745098233, blue: 0.9686274529, alpha: 1).cgColor let colorTwo = #colorLiteral(red: 0.8078431487, green: 0.02745098062, blue: 0.3333333433, alpha: 1).cgColor let colorThree = #colorLiteral(red: 0.9607843161, green: 0.7058823705, blue: 0.200000003, alpha: 1).cgColor var currentGradient: Int = 0 var gradientSet = [[CGColor]]() 在animateGradient中每次调用的时候,都对currentGradient let gradient = CAGradientLayer() var currentGradient: Int = 0 var gradientSet = [[CGColor
CGColorSpaceCreateDeviceRGB(); //设置颜色的开始 颜色的结束 UIColor *beginColor = [UIColor redColor]; //将颜色转换为cgColor //CGFloat是浮点型的基本数据类型 CGFloat *beginC =CGColorGetComponents([beginColor CGColor]); UIColor *endColor = [UIColor yellowColor]; CGFloat *endC = CGColorGetComponents([endColor CGColor]); /
(1) 这里特别强调下,当CAShapeLayer没有设置backgroundColor时,(默认为backgroundColor = [UIColor clearColor].CGColor),CAShapeLayer red.gif self.waveSinLayer = [CAShapeLayer layer]; _waveSinLayer.backgroundColor = [UIColor redColor].CGColor ; self.waveSinLayer.fillColor = [[UIColor greenColor] CGColor]; self.waveSinLayer.frame = CGRectMake( self.waveSinLayer]; self.waveCosLayer = [CAShapeLayer layer]; _waveCosLayer.backgroundColor = [UIColor clearColor].CGColor ; self.waveCosLayer.fillColor = [[UIColor blueColor] CGColor]; self.waveCosLayer.frame = CGRectMake(0
parentView.layer.cornerRadius = 10*standard; parentView.layer.shadowColor = [UIColor darkGrayColor].CGColor subLayer.cornerRadius=8; subLayer.backgroundColor=[[UIColor blackColor] colorWithAlphaComponent:0.8].CGColor ; subLayer.masksToBounds=NO; subLayer.shadowColor = [UIColor blackColor].CGColor;//shadowColor阴影颜色
其中属性如下: /* 颜色数组,设置我们需要过的的颜色,必须是CGColor对象 */ @property(nullable, copy) NSArray *colors; /* 颜色开始进行过渡的位置 CAGradientLayer * layer = [CAGradientLayer layer]; layer.colors = @[(id)[UIColor redColor].CGColor ,(id)[UIColor blueColor].CGColor,(id)[UIColor greenColor].CGColor]; layer.locations = @[@0.1,@0.7 20, 20); layer.position = CGPointMake(30, 100); layer.backgroundColor = [UIColor redColor].CGColor CGPathAddLineToPoint(path, 0, 100, 100); layer.path=path; layer.fillColor= [UIColor redColor].CGColor
setFillColor(bgColor.cgColor) ctx1?. setFillColor(forColor.cgColor) ctx2?. setStrokeColor(forColor.cgColor) //为画笔在屏幕上选择一个起点 context?. setFillColor(bgColor.cgColor) // 根据设置好的填充色,在特定的框中涂抹成矩形 ctx1?. setFillColor(forColor.cgColor) ctx2?.
/ 分段设置渐变色 leftlayer.locations = @[@0.3, @0.9, @1]; leftlayer.colors = @[(id)[uicolor yellowcolor].cgcolor , (id)[uicolor greencolor].cgcolor]; [gradientlayer addsublayer:leftlayer]; //右侧渐变色 cagradientlayer , (id)[uicolor redcolor].cgcolor]; [gradientlayer addsublayer:rightlayer];这个渐变层只是一个中间变量,是不能显示出来的,我这里只是演示一下 shape layer _progresslayer.frame = self.bounds; _progresslayer.fillcolor = [[uicolor clearcolor] cgcolor ]; //填充色为无色 _progresslayer.strokecolor = [[uicolor redcolor] cgcolor]; //指定path的渲染颜色,这里可以设置任意不透明颜色
UIBezierPath bezierPathWithOvalInRect:self.bounds].CGPath; _maskLayer.fillColor = [UIColor blackColor].CGColor = [CAShapeLayer layer]; _maskLayer.path = path; _maskLayer.fillColor = [UIColor blackColor].CGColor ; _maskLayer.strokeColor = [UIColor clearColor].CGColor; _maskLayer.frame = self.bounds; 答案是肯定的,代码例如以下: _maskLayer = [CAShapeLayer layer]; _maskLayer.fillColor = [UIColor blackColor].CGColor ; _maskLayer.strokeColor = [UIColor clearColor].CGColor; _maskLayer.frame = self.bounds;
self.outLayer = [CAShapeLayer layer]; self.outLayer.strokeColor = [UIColor lightGrayColor].CGColor ; self.outLayer.lineWidth = kBorderWith; self.outLayer.fillColor = [UIColor clearColor].CGColor self.progressLayer = [CAShapeLayer layer]; self.progressLayer.fillColor = [UIColor clearColor].CGColor ; self.progressLayer.strokeColor = [UIColor blackColor].CGColor; self.progressLayer.lineWidth void)setProgressColor:(UIColor *)progressColor { self.progressLayer.strokeColor = progressColor.CGColor