iOS-学习笔记-UI-第十九天

来源:互联网 发布:淘宝买家数据采集 编辑:程序博客网 时间:2024/05/22 14:23

回顾:

1. 代码实现自动布局

    1)万能公式法

        view1.attr1<relationship>view2.attri2*multiplier+constant

        b1.right = view.right*1-20

    2)VFL可视化格式语言法

        |-20-[b1]=[b2(b1)]-[b3(b1)]-20|

        V:|-20-[b1]


2. 动画

    2.1 UIImage

    2.2 NSTimer

    2.3 UIView animate...




今天

1. Core Animation

    1.1 是什么?

        是一个图形渲染和动画的底层框架,用于iOS和Mac OS X 


    1.2 能干什么?

        a.可以提供更多更强大的图形渲染效果

        b.可以提供专业级别的动画效果

        c.是高层图形技术的技术


    1.3 如何使用Core Animation大部分功能封装到针对CALayer类型的对象操作中。


        如何获取CALayer类型对象呢?

        方法一:针对已经存在的UIKit的对象,通过layer属性获取到CALayer对象

            UIView            CALayer

            frame              frame

            transform        transform3D

            autoResizing    autoResizing

            addSubView     addSubLayer


        方法二:直接新建CALayer对象

            创建有图像内容的层

                CALayer layer

            创建有文字的层

                CATextLayer layer


    1.4 能够再界面上添加文字或图片的方法

        在UIKit中,使用UIImageView UILabel

        在Core Animation中,使用CALayer CATextLayer

        在Core Graphics中,使用C函数可以实现

        但是,所有绘图出现的效果,本质上都在依赖于Core Graphics来完成的


    1.5 CAAnimation 动画

        一个抽象的动画类型,用于对CALayer类型的对象添加动画效果,大部分情况不关心这个类,而是更多地使用它的子类CABasicAnimation CAKeyFrameAnimation

        a)关键帧动画CAKeyFrameAnimation可以根据指定的路径进行动画

            实现步骤:

                step1:创建关键帧动画,使用animationWithKeyPath方法创建,同时这个方法需要一个字符串的参数,只能是以下三种之一:position transform opacity

                step2:设置动画属性

                step3:将动画添加到视图的layer上

        b)基础动画(CABaicAnimation)

            可以实现缩放 旋转 透明的动画效果

            特点:设置动画的两个重要属性 fromValue 和 toValue


    1.6 CATransform3D

            是一个4X4的矩阵,一个结构体,描述3D图片变形的数据

            对于CALayer类型的对象的transform属性就是CATransform3D类型的

            如何变换?

                CATransform3DMakeScale/Rotation/Translation

                CATransform3DScale/Rotate/Translation

                使用方式同CGAffineTransform


2. UIKit Dynamic 动力特效


    2.1 是什么?

        动力模型,从iOS7开始出现的技术,提供栏一个模拟真实世界中力学相关的动画和交互系统,比如:重力,碰撞,吸附等

    

    2.2 结构

        a. 核心部分 UIDynamicAnimator 力学的场景体系

        b. 具体的力学行为

                UI xx Behavior (行为)

                包含以下行为:

                UIGravityBehavior 重力行为

                UICollisionBehavior 碰撞行为

                UIAttachmentBehavior 吸附行为

                UISnapBehavior 闪烁行为

                UIPushBehavior 推力行为

                UIDynamicltemBehavior 密度 摩擦力行为

    2.3 练习

        


备注:

1.通过背景色为视图设置背景图

    self.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"BackgroundTIle"]];


2.通过设定tintColor将图片渲染成不同的颜色

    UIImageVIew *box = (UIImageView *)item;

    box.tintColor = [UIColor redColor];

    box.iamge = [box.image imageWithRenderingMode:UIImageRenderingModeAlwaysTemplate];







        

0 0
原创粉丝点击