大师网-带你快速走向大师之路 解决你在学习过程中的疑惑,带你快速进入大师之门。节省时间,提升效率

傻傻分不清:Quartz2D、QuartzCore、CoreAnimation、CoreImage、

CoreImage定义了滤镜,来对图片进行颜色过滤混合等操作。 PS:UIKit里的UIView,封装了layer来呈现内容,内容通过CoreGraphics来绘制到layer上,其中位置、大小、颜色,也都在CoreGraphics里定义了。并且加上了用户事件,用来响应用户的输入、点击、拖拽等操作。 才疏学浅,欢迎指正

简单的CABasicAnimation动画

textAlignment = NSTextAlignment.center button.setTitleColor(UIColor.black, for: .normal) } } //长按时候触发 @objc func TapAction () { myLayer.strokeColor = UIColor.yellow.cgColor let animation = CABasicAnimation.init(keyPath: "strokeEnd") animation.fromValue = 0 animation.toValue = 1 animation.duration = 2.0 animation.delegate = self myLayer.strokeEnd = 1 myLayer.add(animation, forKey: "clockOff") } //点击触发 @objc func touchUp() { if myLayer.animation(forKey: "clockOff") !

[分享]iOS开发-贝塞尔曲线理论UIBezierPath类 介绍

运行结果就如下: 这样就知道stroke 和 fill 方法的区别了吧 3、使用UIBezierPath创建矩形使用这个方法即可: Creates and returns a new UIBezierPath object initialized with a rectangular path. +(UIBezierPath *)bezierPathWithRect:(CGRect)rect demo代码: -(void)drawRect:(CGRect)rect { UIColor *color = [UIColor redColor]; // Modify the path and assign it back to the UIBezierPath object CGPathAddEllipseInRect(mutablePath, NULL, CGRectMake(50, 50, 200, 200));

CAShapeLayer,CGPath打造流线刷新动画

} 还用到了一下CABasicAnimation动画的知识,在这里就不做推荐了,网上随便搜一下就是资料,最重要的两个方法就是fromValue和toValue,还有一个animationWithKeyPath:对这三个方法了解一下基本CABasicAnimation的动画就可以上手使用了; //画外围圆和正方形的动画 - (CAAnimation *)pullDownAnimation { CABasicAnimation *writeText = [CABasicAnimation animationWithKeyPath:@"strokeEnd"]; group.animations = @[basic,basic1];

Core Graphics框架 : 一个让程序猿成为视觉设计师的框架

Core Graphics框架 : 一个让程序猿成为视觉设计师的框架 Core Graphics简介 说Core Graphics框架之前,我们首先要先说一下,在iOS中绘制图形的方式,其形式主要有三种.Core Graphics其实是一套基于C语言的API框架,使用了Quartz作为绘图引擎。这也就意味着Core Graphics不是面向对象的。但是这句话对我们并无伤大雅.也就是然并卵~,我们只需要知道如何使用Core Graphics框架就好.

使用 UIBezierPath 进行简单的图形绘制

贝塞尔曲线 UIBezierPath类只是CGPathRef数据类型和path绘图属性的一个封装, 我们可以用来直接修改底层的path, 通过CGMutablePathRef, 1. 完全的使用Core Graphics函数去修改path #if 0 CGMutablePathRef cgPath = CGPathCreateMutable(); #endif 效果图 绘制一个圆, 同时画一个边框 // Create an oval shape to draw. UIBezierPath *bPath = [UIBezierPath bezierPathWithOvalInRect: CGRectMake(0, 0, 200, 200)];

如何对UIView可控制性的圆角

CGSize radii = CGSizeMake(20, 20); UIRectCorner corners = UIRectCornerTopRight | UIRectCornerBottomRight | UIRectCornerBottomLeft; UIBezierPath *path = [UIBezierPath bezierPathWithRoundedRect:rect byRoundingCorners:corners cornerRadii:radii]; 效果: Simulator Screen Shot Feb 15, 2016, 14.42.00.png

iOS Core Animation (II)

// cell.textLabel.layer.shadowOffset = CGSizeMake(0, 2); 然后我们再重新测试一遍。 core3 core iOS-Core-Animation-Advanced-Techniques是非常好的一个docs,不过测试讲的还是不是很多,更多的是原理的解释和介绍了常用的方法。感谢iOS的文档

iOS 九宫格手势密码

iOS 九宫格手势密码 写在最前面,闲来无事,恰逢接近过年,心情无比激动,但是作为一名码农,绝对不能闲下来,故突发奇想,想做一个关于九宫格的手势滑动解锁,之前用过很多次,觉的酷酷哒,话不多说,下面进入正题 先上图 效果图1. //设置线条颜色 UIBezierPath* aPath = [UIBezierPath bezierPathWithRect:CGRectMake(120, 120, 100, 50)]; CGContextRef context = UIGraphicsGetCurrentContext(); return image;

iOS-30-iOS-Core-Animation-Advanced-Techniques专用图层

1是代码运行的结果。虽然还不是很完美,但是总算知道了大意对吧! 清单6.1 用CAShapeLayer绘制一个火柴人 #import "DrawingView.h" #import @interface ViewController () @property (nonatomic, weak) IBOutlet UIView *containerView; @end @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; //create path UIBezierPath *path = [[UIBezierPath alloc] init]; [path moveToPoint:CGPointMake(175, 100)]; [path moveToPoint:CGPointMake(150, 125)];

如何实现百度外卖APP个人中心头像"浪"起来的动画效果

[timer addToRunLoop:[NSRunLoop currentRunLoop] forMode:NSRunLoopCommonModes]; CAShapeLayer CALayer的子类,通常结合CGPath来绘制图形.其创建方式: CAShapeLayer *Layer = [CAShapeLayer layer]; Layer.frame = self.bounds; Layer.fillColor = self.realWaveColor.CGColor; Layer...等属性 [self.view.layer addSublayer:Layer];

绘图相关(平滑过渡色、镂空效果、部分圆角等)

shapeLayer.lineDashPattern = @[@20, @2]; shapeLayer.lineDashPhase = 1; //填充颜色的规则,zero 是 kCAFillRuleEvenOdd是从左到右穿过为1不穿过为0,0为外部 shapeLayer.fillRule = kCAFillRuleNonZero; //线型 shapeLayer.lineDashPattern = @[@3 ,@4]; CAShapeLayer *shapeLayer = [CAShapeLayer layer]; //[path appendPath:[[UIBezierPath bezierPathWithRect:rc] bezierPathByReversingPath]]; //获取 font 的名字 CGFontRef fontRef = CGFontCreateWithFontName(fontName);

I.6 特定图层(上)

I.6 特定图层(上) 专业化是每一个复杂组织的特性。——Catharine R.Stimpson 到目前为止,我们使用过CALayer类,我们发现它有一些有用的图像绘制和变形能力。但Core Animation图层不仅是用来图像和颜色的。这一章将讲述其它你可以用来扩展Core Animation绘制能力的图层类。 CAShapeLayer 在第4章“视觉特效”中你学会了如何用CGPath来直接创建一个阴影形状,而不是使用图像。如果你可

iOS 开发 layer的shadowPath

iOS 开发 layer的shadowPath **shadowPath 属性** shadowPath 是一个 CGPathRef 类型。CGPath 是一个 Core Graphics 对象,用来指定任意的一个矢量图形。 **我们可以通过这个属性单独于图层形状之外指定阴影的形状。** /* 核心代码 //创建一个图形 CGMutablePathRef squarePath = CGPathCreateMutable(); */ #import "ViewController.h" @interface ViewController () @property (nonatomic,strong) UIView *layerView1; [self.view addSubview:_layerView2];

如果你还没使用过ShapeLayer,一定要看看这篇

如果你还没使用过ShapeLayer,一定要看看这篇 简介 官方文档frame = CGRect(x: 0, y: 0, width: width, height: height) setupShapeLayer(shapeLayer: self.draftShapeLayer!frame = CGRect(x: 0, y: 0, width: smallSquareWH, height: smallSquareWH) setupShapeLayer(shapeLayer: self.squareShapeLayer!, path: squarePath.cgPath) self.lineShapeLayer = CAShapeLayer() self.lineShapeLayer!

iOS画虚线边框layer.border

iOS画虚线边框layer.border 这是给self.view画一个类似self.layer.border的边框, 是虚线~ 在网上找的例子 CAShapeLayer *border = [CAShapeLayer layer]; border.strokeColor = SLColorLine.CGColor; border.fillColor = nil; border.path = [UIBezierPath bezierPathWithRect:self.bounds].CGPath; border.frame = self.bounds; border.lineWidth = 1.f; border.lineCap = @"square"; border.lineDashPattern = @[@4, @2]; [self.layer addSublayer:border];

iOS - 实现在有限label上 动态显示所有文字

iOS - 实现在有限label上 动态显示所有文字 效果如下: 001.gif 点击下载查看demo 思路 创建一个view 作为所有内容的父控件, 并且添加到上面一个 label, 作为显示文字的载体UILabel* contentLabel = [[UILabel alloc] init]; 给内容view的layer添加一个mask层, 并且设置其范围为整个view的bounds, 这样就让超出view的内容不会显示出来CAShapeLayer* maskLayer = [CAShapeLayer layer]; testLabel.textColor = [UIColor yellowColor];

[核心动画]关于CAShapeLayer的使用(画虚线和镂空效果)

} 由代码可以看出实现单色图形的显示,形状主要取决于CAShapeLayer 的path属性,代码的前半段主要是通过UIBezierPath(贝塞尔曲线)的对象画出人物形象的路线,然后将其结构体的值CGPath赋值给shapeLayer。shapeLayer对象可以调节路线图的其它属性包括颜色线宽等等。 类似的我们也可以做出圆角的效果如下: CAShapeLayer画圆角.png //define path parameters CGRect rect = CGRectMake(50, 50, 100, 100);