iOS基本功动画教程

iOS根底动漫教程

iOS的卡通片多样多种,动漫做的好的使用会进一层引发人,用起来也会愈发绚烂,本文介绍iOS三种底工动漫,单个讲授便于了然,但实在使用时,结合起来用会看起来越发帅,那就看现实的使用处景和贵宗的想象力啦。

具备的底工动漫都给以UIView两个底蕴的主意:animateWithDuration。那几个措施能够包蕴三个代码块,里面安装要改成的东西,在举行的时候iOS会活动以卡通的样式表现出来,代码如下:

[UIView animateWithDuration:1 animations:^{
        // 要执行的动作
}];

个中的参数“1”表示动漫在风流倜傥秒时间下完毕。
近年来分别授课地方、发光度、大小、颜色、旋转的动漫。

岗位动漫

大家在分界面上放置八个四方,然后想要他透过动漫移动到另三个任务,咋办吗?特别不难,在下边包车型地铁代码块的岗位变动方块的主干就好了,如下:

    [UIView animateWithDuration:1 animations:^{
        // 改变蓝色方块的位置
        CGPoint blueCenter = self.blueSquare.center;// 获取原来的方块中心位置
        blueCenter.x = self.view.bounds.size.width - self.blueSquare.center.x;// 改变中心位置的X坐标
        self.blueSquare.center = blueCenter;// 设置方块的中心位置到新的位置
    }];

那般运转就能够看看动画了,很简短吗。
其余,还足以延缓动画的施行时间,举个例子想延缓半秒后施行,那么依旧一直以来的章程,可是参数要多或多或少:

    [UIView animateWithDuration:1 delay:0.5 options:nil animations:^{
        // 改变蓝色方块的位置
        CGPoint blueCenter = self.blueSquare.center;// 获取原来的方块中心位置
        blueCenter.x = self.view.bounds.size.width - self.blueSquare.center.x;// 改变中心位置的X坐标
        self.blueSquare.center = blueCenter;// 设置方块的中心位置到新的位置
    } completion:nil];

delay参数表示延迟0.5秒实施动漫,options能够不填,completion是成就后的操作,也得以不填。那样就兑现了。

反射率动漫

只要大家想通过动画渐变叁个控件的反射率,举个例子稳步形成基本看不见,也很简单,依然特别格局:

    // 开始透明度动画(一秒完成)
    [UIView animateWithDuration:1 animations:^{
        // 透明度变为0.1
        self.blueSquare.alpha = 0.1;
    }];

四方本来就有光滑度,当然默以为1,通过这么些装置,就足以让它在大器晚成分钟时间里稳步将光滑度产生0.1,是或不是很简短!

高低动漫

要是想修改四个控件的大大小小,须要在代码块里用到一个改成大小的函数:CGAffineTransformMakeScale,那几个函数的参数分别为设置长和宽为原本的有一些倍,譬如我们透过动漫将控件放大到原本的两倍:

    // 进行一秒钟的动画
    [UIView animateWithDuration:1 animations:^{
        self.blueSquare.transform = CGAffineTransformMakeScale(2.0, 2.0);// 长和宽分别变成原来的两倍
    }];

这里就将方块通过后生可畏秒钟的卡通片稳步松手到原本的两倍,这里要旗帜明显的是加大过程中,方块的大旨点不改变,也正是说是从大旨向周边放大的。要压缩也能够转移参数的倍数就足以了。
此间可以稍作想象,大家把加大动漫和反射率动漫组成到一齐,变放大到一切显示屏边渐变到看不见,是或不是就很像某些见过的卡通了~

颜色动画

这几天赶到颜色的渐变动画,近似轻巧的很:

    // 改变颜色
    [UIView animateWithDuration:1 animations:^{
        self.blueSquare.backgroundColor = [UIColor redColor];
    }];

在代码块里再度安装一下四方的颜料,就足以兑现渐变效果了,轻巧到哭。。。

旋转动漫

地点的动漫操作都很简短,都以在动漫的代码块内再次设置一下就足以达到规定的标准动漫的功能了,而旋转就多少复杂一点。
假如大家有三个轱辘的图样wheelImg,要旋转他,仍然须求动用方法CGAffineTransformMakeRotation,刚才大家伸缩大小用到了CGAffineTransformMakeScale,看起来大致,用起来也大都,参数是旋转的角度,大家能够品尝一下如此写:

    [UIView animateWithDuration:1 animations:^{
        self.wheelImg.transform = CGAffineTransformMakeRotation(M_PI);
    }];

如此那般实在能够达到规定的规范旋转的目标,依照参数,运营的时候会旋转半圆,然后停住。如若只是想旋转一下停住,依据这种措施写,改造角度就能够了,不过只要想要旋转八个整圆,第二个想到的可能是把角度改成整圆:

    [UIView animateWithDuration:1 animations:^{
        self.wheelImg.transform = CGAffineTransformMakeRotation(2*M_PI);
    }];

这般写,运维起来其实是不会动的,可以试一下,因为它的最终地点,也便是转了一个整圆后,还是在原岗位,所以iOS选拔不动。就跟退换地点,地点依旧原位时,也不会动相近。那如何做吧。其它,这里的转动都是一次性的,如若想要一直转,如何是好吧,是否十分轻易想到循环?其实正是循环,然则咱们能够用比for循环更高尚的卡通片循环情势,还记得刚才做延迟动漫的时候的艺术,最后有叁个参数是completion嘛,这一个参数的功效是提供动漫停止时实施的原委,那我们行不行在这里间调用它自身吧?当然能够:

// 持续旋转动画
- (void)spin {
    // options属性设置可以让其顺畅地循环转动,completion让其不断在完成之后调用自己
    [UIView animateWithDuration:1 delay:0 options:UIViewAnimationOptionCurveLinear animations:^{
        self.wheelImg.transform = CGAffineTransformRotate(self.wheelImg.transform, M_PI);// 第一个参数为开始旋转的角度,第二个为旋转的角度
    }completion:^(BOOL finished){// 结束时继续执行
        [self spin];
    }];
}

那边我们把动漫放到叁个函数里,方便我们在completion里调用,那样就达成了无休止旋转了,当然,假设想只旋转叁个整圆,能够用for循环,条条大路通奥Crane嘛。

如上正是基本的iOS UIView动画了,单个看各自都挺轻松的,在大家的诚实使用当中,当然也要注意结合使用,发挥想象力,不难的功能也是足以组成出秀气的效益的~

iOS的卡通片异彩纷呈,动漫做的好的施用会进一层引发人,用起来也会更为炫丽,本文介绍iOS三种功底动画,单个批注便于明白...

本文由365bet体育在线官网发布于关于计算机,转载请注明出处:iOS基本功动画教程

TAG标签:
Ctrl+D 将本页面保存为书签,全面了解最新资讯,方便快捷。