ViewDay06

一、 Autolayout的对齐与等宽

1.对其

两个控件都没有描述清楚,以先创建的控件为准。

两个控件有一个描述清楚,以描述清楚的控件为准。

2.等宽

两个控件都没有描述清楚,以控件的默认的为准。

两个控件有一个描述清楚,以描述清楚的控件为主。

二、VFL(Visual Format Language)

1. 是什么

是一个字符串,具有一定格式,代表一些约束含义。

2. 方法

constraintWithVisualFormat:option:metrics:view:

3.如何写VFL字符串

| 代表父视图的边

H:| 代表左边 水平

V:| 代表上边 垂直

[]:代表一个子视图(或控件)

():代表一个条件(==,>=,<=)==可以省略

- 代表间距

 

[button 1]-[textfiled]标准距离8

[button(>=50)]表示button的宽度

|-50-[button]-50-|距父视图左边50 右边50

v:[topbutton]-20-[button]两个按钮的垂直距离

 

三、动画(Animation)

1.是什么

一般指的是"帧动画",由一帧一帧的静态的图片快速切换达到动画效果。帧代表的就是一张静态图片。

30FPS(帧率)Frame  Per  Second

人眼是无法分辨25帧以上的图片,感觉上就是动画。

连续画图片的方式叫渲染。(Rendering)

手机上一般也就是30帧,过快会导致费电。

2.IOS中的动画

UIImage类   直接就支持动画

NSTimer类    手工实现动画

UIView类      类方法实现动画(最常用)

 

Core Animation Framework  底层做动画

IOS7增加:

UIKit Dynamic(动力)

Motion Effects(特效,不能算动画)

Sprite Kit (2D引擎)

IOS8增加:

Sprite Kit (3D引擎)

Coscos2d(OC)/Coscos2dx(C++)跨平台

Metal

3.UIImage动画

最基本动画,使用UIImage对象快速切换图片形成动画效果。做小的动画可以使用。

4.NSTimer手动动画

4.1 是什么

是一个定时器类,用于定时向对象发送消息。

4.2 如何使用

[NSTimer schedule]开头的类方法创建NSTimer对象,对象创建后直接工作

4.3匀速动画

匀速的改变视图的一些值,就可以达到匀速动画的效果。

center transform  frame alpha

当前值 = 开始值 + 当前值的帧数*[(结束值 - 开始值)/(帧率*动画时长)]

4.4变速动画

常见情况:

由快到慢

由慢到快

由慢到快再到慢

由快到慢:

当前值 = 上一次值 + (目标值 - 上一次值)*渐变因子

Y = 500 + (100-500)*0.1 = 460   …40

Y = 460 + (100-460)*0.1 = 424   …36

Y = 424 + (100-424)*0.1 = 392   …32

5.UIView动画

5.1 是什么

是UIKit提供专门制作动画的API,其实就是对CoreAnimation的封装。

可以轻松的实现动画,不需要经过计算。

5.2 制作动画的步骤

(1)设置需要动画的视图的初始属性值

(2)给UIView类发消息,告诉UIView类需要什么样的动画。

(3)将动画结束的状态(属性值)写入到Block中

6.UIView高级动画

参数1:动画时长  参数2:延迟的时长

参数3:动画特征  参数4:动画结束值

参数5:动画结束后的处理

[UIView animateWithDuration:delay:option:animations:completion:]

option:动画效果、特征

CocoaLigature0 UIViewAnimationOptionRepeat重复

UIViewAnimationOptionCurveEaseInOut  先慢再快再慢 UIViewAnimationOptionCurveEaseIn 越来越快

      UIViewAnimationOptionCurveEaseOut 越来越慢

 UIViewAnimationOptionCurveLinear 匀速    

 UIViewAnimationOptionAutoreverse 

可以同时支持多个动画特效,但是要使用"|"符号进行连接。

注:动画效果会与AutoLayout冲突。CocoaLigature1 

老语法:

早期的动画api

A.开始动画 [UIView beginAnimations]

B.设置属性值 [UIView setAnimations]

C.结束动画 [UIView commitAnimations]

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值