您的位置:首页 > 产品设计 > UI/UE

iOS学习之UI初级————CGAffineTransform坐标系统变换以及UIView的属性动画

2016-03-30 22:47 453 查看
浅谈编者对CGAffineTransform坐标系统变换以及UIView的属性动画的认识和理解

坐标系统变换通过transform属性来改变

·CGAffineTransformScale //对视图比例缩放 

·CGAffineTransformRotate //对视图做变焦旋转 

·CGAffineTransformTranslate //对视图在原来的位置上做平移

以view对象举例

    //平移x方向上向右移动100,y方向上向上移动100
    view2.transform = CGAffineTransformMakeTranslation(-100, 100);
   //旋转M_PI是180度,此为顺时针旋转30度
    view2.transform = CGAffineTransformMakeRotation(M_PI / 6);
    //比例缩放,水平方向置为原来的二分之一,竖直方向上置为原来的两倍
    view2.transform = CGAffineTransformMakeScale(0.5, 2);

视图属性动画-动画属性

UIView类的很多属性都被设计为动画。动画的属性是指当属性从一个值变为另一个值的时候,可以半自动地支持动画。但是必须告诉UIKit希望执行什么类型的动画,动画一旦开始,Core Animation就会全权负责。UIView对象中支持动画的属性有如下几个:
frame : 改变视图的尺寸和位置 
bounds :改变视图的尺寸 
center :改变视图的中心位置 
transform :翻转或者放缩视图
alpha :改变视图的透明度 
backgroundColor :改变视图的背景颜色 
contentStetch :改变视图内容如何拉伸

UIView属性动画-代理设置

可以为动画分配一个委托,并通过该委托接受动画开始和结束的消息。当需要在动画 开始前和动画结束后立即执行其它任务时,可能就需要设置委托。
通过UIView调用setAnimationDelegate:方法来设置委托,并通过 setAnimationWillStartSelector:和setAnimationDidStopSelector:方法来指定接收 消息的选择器方法。消息处理方法的形式如下:
- (void)animationWillStart:(NSString *)animationID context:(void *)context; 
- (void)animationDidStop:(NSString *)animationID finished:(NSNumber*)finished context:(void *)context;
animationID : 应用程序提供的字符串,用于标识一个动画块中的动画。
context :也是应用程序提供的对象,用于向委托对象传递额外的信息。 
setAnimationDidStopSelector:选择器方法还有一个参数,即一个布尔值,如果动画顺利完成,没有被其它动画取消或停止,则该值为YES。

UIView属性动画-动画参数配置

setAnimationStartDate:设置动画在commitAnimations方法返回之后 的发生日期。
setAnimationDelay:设置实际发生动画和commitAnimations方法返回 的时间点之间的间隔
setAnimationDuration:设置动画持续的秒数。 
setAnimationCurve:设置动画过程的相对速度,比如动画可能在启示阶段逐渐加速,而在结束阶段逐渐减速,或者整个过程都保持相同的速度
setAnimationRepeatCount:设置动画的重复次数。
setAnimationRepeatAutoreverses:指定动画在到达目标值时是否自动 反向播放。

所有支持动画的属性在动画块中发生的变化都会形成动画。如果希望让动画块中发生的某些变化不产生动画效果,可以通过setAnimationsEnabled:方法来暂时禁止动画,在完成修改后才重新激活动画。在调用setAnimationsEnabled: 方法并传入NO值之后,所有的改变都不会产生动画效果,直到用YES值再次调用这个方法或者提交整个动画块时,动画才会恢复。可以用areAnimationsEnabled方法来确定当前是否激活动画

此文是初学者编者对CGAffineTransform坐标系统变换以及UIView的属性动画的认识和理解,如有误请指正。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  ios开发 动画 uiview