
IOS-Quartz2D和Core Animation
文章平均质量分 86
RannieR
喜欢C语言Objective-C和Java.热爱iOS开发的青年军.最近在研究Swift和计算机系统.
展开
-
UIKit和Core Graphics绘图——字符串,线条,矩形,渐变
概述CoreGraphics也称为Quartz 2D 是UIKit下的主要绘图系统,频繁的用于绘制自定义视图。Core Graphics是高度集成于UIView和其他UIKit部分的。Core Graphics数据结构和函数可以通过前缀CG来识别。视图可以通过子视图、图层或实现drawRect:方法来表现内容,如果说实现了drawRect:方法,那么最好就不要混用其他方法了,如图层原创 2013-08-15 22:58:36 · 8737 阅读 · 1 评论 -
IOS飞机大战OC版
前一阵子看到了很多版本的打飞机游戏,有Java版的C++版本的还有C语言版的。。。这几天闲着的时候写了一个OC版的,也正好是因为答应朋友写这个游戏来把飞机都换成他照片- -。没有用Cocos2d框架,用的QuartzCore中的CADisplayLink来完成。先看下完成后的效果 简单的架构思路设计如下:图片资源与音乐资原创 2013-10-08 00:18:45 · 3854 阅读 · 1 评论 -
核心动画中的动画组和转场动画
动画组 CAAnimationGroup上篇博客http://blog.youkuaiyun.com/cocoarannie/article/details/10413301介绍了核心动画中的基本动画(CABasicAnimation)和关键帧动画(CAKeyframeAnimation),还有一个比较常用的就是动画组(CAAnimationGroup)所谓的动画组就是讲一些动画组合起原创 2013-08-30 00:19:28 · 2789 阅读 · 0 评论 -
drawRect绘图
在Java的Swing开发中,常用Graphics2D来绘图,虽然用代码的方式来绘图会比较繁琐,但是貌似有很多攻城狮都乐在其中。iOS里的Core Graphics框架作为一个绘图框架,也提供了很多手动绘图的常用方法。UIView的drawRect就像是Java中的paintComponent重绘方法:1.开始要获取一个指向当前上下文的指针(CGContextRef)- (vo原创 2013-06-22 07:55:32 · 2635 阅读 · 0 评论 -
CAAnimation——基本动画,关键帧动画和贝塞尔路径
概述在做对于图层的动画效果时,往往直接改变属性或者使用隐式动画是不能满足我们的需求的,所以我们就用到了显式动画,CAAnimation。它可以管理重复动画、准确的控制时间和步调,并且能设定图层过渡。当然,所有隐式动画能做到的,显式动画也都能做到。来看下CAAnimation的继承体系CABasicAnimation- (void)de原创 2013-08-27 19:39:10 · 10589 阅读 · 0 评论 -
CoreAnimation —— CALayer
概述如上篇博文讲述,UIView中封装了很多系统方法,可以满足我们的大部分需求。但是,其也有很多限制。那些方法产生的动画基本单元为UIView,是非常重量级的对象,而且也不支持三维布局,大部分是对视图的属性修改,和进行二维的仿射变换,若果想让动画效果更加炫酷,则需要使用Core Animation核心动画。Core Animation最重要的就是CALayer(图层),原创 2013-08-25 21:41:08 · 2224 阅读 · 0 评论 -
UIKit封装的系统动画
简介在UIKit中,对UIView封装了很多类方法来进行简单的动画实现,在动画过程中,通过对属性值的修改来完成一系列的效果。在IOS4以前,主要通过+ beginAnimation+ setAnimationDuration:设置动画时长+ setAnimationDelay:设置延迟时间+ setAnimationDelegate:设置代理原创 2013-08-22 23:16:46 · 1984 阅读 · 0 评论 -
UIKit和Core Graphics绘图——绘制光泽,仿射变换与矩阵变换
绘制光泽在一个矩形上绘制光泽其实可以通过在原有色彩的基础上绘制一层透明度较高的渐变来实现。首先先看以前绘制渐变的函数。void drawLinearGradient(CGContextRef context, CGRect rect, CGColorRef startColor, CGColorRef endColor){ CGContextSaveGState(原创 2013-08-19 21:33:40 · 3114 阅读 · 0 评论 -
UIKit和Core Graphics绘图——构造路径,阴影以及渐变扩展
构造路径通常,一系列点组合一起构成一个形状,而若干个形状组合在一起可以构造一个路径,路径可以规则也可以不规则,随意组合。通过Core Graphics很容易管理路径。主要用到的函数或方法:CGPathCreateMutable() 创建可变路径的方法CGContextAddPath 将路径加入到上下文中CGContextDrawPath绘制路原创 2013-08-17 02:27:14 · 4291 阅读 · 1 评论 -
UIKit和Core Graphics绘图——绘制虚线,椭圆以及饼图
绘制虚线虚线绘制主要调用CGContextSetLineDash函数。这个函数有4个参数,除了一个是上下文外,phase为初始跳过几个点开始绘制,第三个参数为一个CGFloat数组,指定你绘制的样式,绘几个点跳几个点(下面为绘10个点,跳过5个),最后一个参数是上个参数数组元素的个数。- (void)drawLineDash{ CGContextRef con原创 2013-08-17 21:08:01 · 3505 阅读 · 0 评论 -
【iOS】用Layer创建一个三维模型以及拖动
关于CALayer的介绍以及基本属性,在这篇博客中有交代:CoreAnimation —— CALayer这篇博客讲述简单的通过对layer的transform属性的设置一个CATransform3D来进行自定义三维图形,甚至后续的处理。通常简单的仿射变换我们也是通过对其的transform属性进行设置。不过这里设置的是一个3D变换类。如果线性代数很好的话,那应该能够理解内部具体做原创 2013-12-16 00:11:38 · 3487 阅读 · 0 评论