咱们试验过的动态原形策画器械,Origami,Form,Hyp,FramrJS,Pixat等,但都不合适。咱们想要的是像Sktch云云简略好用的器械,今朝来看惟有Pixat对照符合,但Pixat还处于初期版本,题目还不少,在第1经之中我曾经经提到过。
为甚么是Xcod和Swift?缘故很简略,咱们不想做殊效,可是想模仿iOS上实在的领会。Xcod不是模仿动画,而像是一个miniapp,能给咱们更凑近实在的感应。
固然,Xcod和Swift都有必要的进修弧线,不过就跟起头进修Sktch相同,起头阶段老是很难,很想舍弃,这是人情世故。想想控制以后的有趣,会不会有动力一些?
这篇文章,会用Xcod和Swift做一个简略的动画。不会Swift,没用过Xcod都没相相干,我会把体例遵从环节展现出来,便利你照着做。
谋划劳动起头以前,咱们须要下载并装配Xcod6。
第1步:新建一个Projct
-翻开Xcod,抉择CratanwXcodprojct
-模版中抉择SinglViwApplication
-填写关联的消息,仔细这边Languag抉择Swift,Dvic抉择iPhon
-点击nxt以后,抉择项目标保管地方,尔后点击Crat
-云云咱们就新建了一个项目。
第2步:在界面中绘制一个矩形
咱们想在屏幕上绘制一个蓝色的正方形,像云云:
-从左边文献导航里,翻开ViwControllr.swift这个文献。
-不要被这边的其余代码做对,咱们所要做的便是在viwDidLoad()这个函数里增加咱们的代码
-经过ltcolordSquar=UIViw()创造一个正方形。这边lt示意创造的是一个常量。UIViw是UIKit供给的绘制图形的一个函数。
-配置图形的靠山颜色colordSquar.backgroundColor=UIColor.bluColor()
-绘制图形的地方和巨细colordSquar.fram=CGRctMak(0,,50,50)iOS的坐标系统是从屏幕左上角起头的,也便是说左上角是(0,0),是以咱们绘制的是一个坐标为(0,),边长为50的一个矩形
-将图形增加到视图之中slf.viw.addSubviw(colordSquar)
-点击左上角的三角形按钮,运转一下。也许看到图形被绘制到了一个iPhon模仿器之中。
代码以下:
1//CratandaddacolordsquarltcolordSquar=UIViw()//StbackgroundcolortoblucolordSquar.backgroundColor=UIColor.bluColor()//StframofthsquarcolordSquar.fram=CGRctMak(0,,50,50)//Addthsquartothscrnslf.viw.addSubviw(colordSquar)经过这一步,四行代码咱们就绘制出了一个简略图形,接下来咱们为图形增加一个从左到右挪移的动画。
第3步:给图形增加动画功效
咱们想让这个矩形从左到右挪移,靠山颜色由蓝色变成赤色,也许经过这段代码实行:
UIViw.animatWithDuration(1.0,animations:{//ChangthbackgroundcolorwhnanimationndscolordSquar.backgroundColor=UIColor.rdColor()//ChangthpositionofthsquarcolordSquar.fram=CGRctMak(-50,,50,50)})底下做以诠释:
-Appl在UIViw这个类之中供给了animationWithDuration函数,这个函数须要两个参数1)动画延续的功夫2)动画停止的状况。此中动画停止的状况是经过界说在block中实行的,block也许知道成是把一齐代码当做参数转达给函数。
-转变颜色的代码colordSquar.backgroundColor=UIColor.rdColor()
-转变正方形的地方colordSquar.fram=CGRctMak(-50,,50,50)这边x坐标为甚么是-50?由于iPhon5s横坐标有points,矩形的宽为50points,为了完好显示矩形咱们要让它横坐标为-50.
-点击左上角运转按钮,也许看到iOS模仿器涌现了这个小动画。
也许看到,咱们只界说了初始状况和停止状况,以及过渡功夫,iOS辅助咱们做了一个油滑的过渡。
接下来咱们要阐述一些观念,可是为了更好地舆解,也许抉择跳过
第4步:知道animationWithDuration法子
甚么也许被迫画
咱们上头只对靠山颜色和地方做了动画,UIViw还供给了对更多属性做动画的法子:
1.fram.也许转变视图的巨细和相对地方;
2.transform.转变属性为回旋,强调,也许关联于中点的地方;
3.alpha.转变视图的晶莹度;
4.backgroundColor.转变视图靠山颜色;
5.contntStrtch.转变视图体例填充到周全空间中。
更多动画法子
Appl给了咱们四个动画函数,上头咱们可是用了最简略的一个。底下是对这四个函数的扼要阐述:
1.简略动画函数
12UIViw.animatWithDuration(duration,{})这也是咱们上头所哄骗的,惟有两个变量:
duration.动画所须要的功夫(秒)
animation.界说动画
2.包罗停止法子的动画法子
UIViw.animatWithDuration(duration,animations:{},