美文网首页
缺省动画

缺省动画

作者: Carden | 来源:发表于2017-10-30 16:08 被阅读46次

绘制自定义图形?

1、初始化View,包括属性横轴间隔&纵轴间隔&

(设置空白View准备画画+设置当前笔头颜色+设置当前画笔粗细+设置画笔初始位置+设置画笔终点,传入context绘制长方形)——

CGContextStrokePath(context)

CGContextSetLineWidth设置线的宽度。

CGContextStrokeRect绘制长方形。

CGContextSetRGBStrokeColor设置当前画笔的颜色。

CGContextSetRGBFillColor设置填充颜色。

CGContextFillPath(ctx);//设置填充的路径。

CGContextStrokePath绘制一个框,不填充。

CGContextClearRect橡皮擦,去掉一个矩形的内容。

CGContextStrokeRect绘制一个矩形框,未填充。

CGContextAddRect绘制一个实心矩形区域,框采用画笔颜色,填充采用填充色,默认的填充色是黑色。

ios里面的绘制,在UIView中有个自带的方法- (void)drawRect:(CGRect)rect实现,实现的过程可以跟现实生活中的绘画过程相对比,例如如何画一条直线,1.要准备一张纸,用于画画;2.要准备一支画笔,能选择笔头的颜色,花笔的粗细;3.想好所画线的起始点;4。动手画下来

只有在View的drawRect方法中才能取得跟View相关联的图形上下文,将会随着View调用而被调用。每一个View中都有一个layer(图层)属性,通过View里面的drawRect方法就能取得View的Layer Graphics Context(图层图形上下文),从而可以在View的layer上绘制图形,要知道,本质上所有我们可以见到的View视图都是基于底层的layer实现。只不过比起我们自定义的图形来说,多了一个用户交互的事件触发。

本质上我们所见到的Button、Label、Image都是苹果的开发工程师自己底层提前为我们在view的底层Layer图层画好了图形样式,我们要向使用官方不曾有过的图形样式,就必须通过重写drawRect方法来实现。

iOS两种绘图(包括文字、图像、渐变)方法?

1、使用原生的drawing技术,包括Core Graphics和UIKit框架,只支持2D 绘图。

2、另一种方法使用OpenGL ES,2D 和3D都支持

UIView和layer的联系?

所有的View都是由底层的Layer来驱动,我们表面上改变的是View的属性,其实本质上还是得Layer发生了改变。比如说Frame发生了改变,还会出现一些动作改变时的动画。所以执行动画的时候,必须改变layer的属性。尽管我们的Layer没有可见的外观,但它依然需要被添加到屏幕上的视图层级里,以便动画能正常工作。

关键帧制作gif动画?

__block CGPoint center = view.center;

[UIView addKeyframeWithRelativeStartTime: 0 relativeDuration: 0.1 animations: ^{

view.center = (CGPoint){ center.x + 15, center.y + 80 };

}];

关键帧动画的options参数?

UIViewKeyframeAnimationOptionCalculationModeLinear // 连续运算模式,线性

UIViewKeyframeAnimationOptionCalculationModeDiscrete // 离散运算模式,只显示关键帧

UIViewKeyframeAnimationOptionCalculationModePaced // 均匀执行运算模式,线性

UIViewKeyframeAnimationOptionCalculationModeCubic // 平滑运算模式,贝塞尔曲线让动画更加平滑

UIViewKeyframeAnimationOptionCalculationModeCubicPaced // 平滑均匀运算模式

通过CGAffineTransform设置View层的transfrom属性创建平面动画?

1、CGAffineTransTranslate平移

2、CGAffineTransformScale缩放

注意:如果使用CGAffineTransformScale从1变到0,动画提交之后,会直接保持动画结束的状态,想让View变小,只需设为0.1的比例就行

3、CGAffineTransformMakeRotation旋转(角度*M_PI/180)

4、CGAffineTransformInvert(transform)逆动画

5、CGAffineTransformIdentity

6、CGAffineTransformConcat(CGAffineTransform t1, CGAffineTransform t2)两个平面变换效果同时进行

通过CATransform3D设置layer层的transfrom属性展示3D效果?

1、导入QuartzCore.framework

2、CATransform3DMakeRotation(M_PI/6, 0, 1, 0)表示Y轴旋转30°

相关文章

  • 缺省动画

    绘制自定义图形? 1、初始化View,包括属性横轴间隔&纵轴间隔& (设置空白View准备画画+设置当前笔头颜色+...

  • 缺省

    就是默认的意思

  • 设计模式之缺省适配模式

    缺省适配模式 缺省适配(Default Adapter)模式为一个接口提供缺省实现,这样子类型可以从这个缺省实现进...

  • Android 几行代码实现通用缺省图

    Activity中使用 资源加载失败,显示缺省图 缺省图移除 Fragment中使用 缺省图显示 Fragment...

  • Servlet缺省

    1.web.xml文件中, / 即url的值为/的servlet为此项目的缺省servlet; 2. 缺省se...

  • 浅谈用户交互“缺省”的设计解析

    用户交互_缺省 缺省页指页面信息的异常反馈;缺省页是设计过程中最容易忽略的地方,它的作用不仅是提醒用户,安抚情绪;...

  • 什么是缺省页及作用

    1、什么是缺省页 缺省页是页面无内容或者异常的状态时展示的页面。 设计缺省页作用是设计更好的用户体验,即在异常状态...

  • 缺省的力量

    缺省是指开箱后的默认状态。这些缺省信息也许不太起眼,但是其实缺省以及他们的设计师掌握着无穷的力量。他们会影响到用户...

  • 几个特别的图表的实现的option

    1. Y轴缺省,x轴分割线缺省,如图 2. 图例文字跟图例颜色同色,如图 3. 横向柱状图,缺省坐标轴,柱子有背景...

  • 07 Modules 模块

    缺省模块 Prelude 模块是缺省模块,会被自动载入 载入模块 用 import 可以载入模块,模块载入后,其中...

网友评论

      本文标题:缺省动画

      本文链接:https://www.haomeiwen.com/subject/bbtmpxtx.html