专栏名称: Cocoa开发者社区
CocoaChina苹果开发中文社区官方微信,提供教程资源、app推广营销、招聘、外包及培训信息、各类沙龙交流活动以及更多开发者服务。
目录
相关文章推荐
苹果黑科技  ·  iOS ... ·  昨天  
苹果黑科技  ·  iOS ... ·  昨天  
51好读  ›  专栏  ›  Cocoa开发者社区

谈UIView Animation编程艺术

Cocoa开发者社区  · 公众号  · ios  · 2016-10-21 08:11

正文

请到「今天看啥」查看全文


bounds变化


2.Show Code


-(void)changeBounds{

CGRect originalBounds = self.anView.bounds;

//尽管这个rect的x,y跟原始的不同,动画也只是改变了宽高

CGRect rect = CGRectMake(0, 0, 300, 120);

[UIView animateWithDuration:1 animations:^{

self.anView.bounds = rect;

} completion:^(BOOL finished) {

[UIView animateWithDuration:1 animations:^{

self.anView.bounds = originalBounds;

}];

}];

}


三.转移动画(改变center)


1.展示效果


center变化.gif


2.Show Code


-(void)changeCenter{

CGPoint originalPoint = self.anView.center;

CGPoint point = CGPointMake(self.anView.center.x, self.anView.center.y-170);

[UIView animateWithDuration:0.3 animations:^{

self.anView.center = point;

} completion:^(BOOL finished) {

[UIView animateWithDuration:1 animations:^{

self.anView.center = originalPoint;

}];

}];

}


谢谢二爷的示范,经典的表情也勾起很多人的回忆。好,我们回到现实,以上的3个例子,大家不难发现共同的特点和重复性。


1.都是改变UIView的属性就可以产生动画。

2.都是带有block做结束回调,对结束监控

3.动画大小和位置变化可以通过多种方式实现


“佛爷,是不是很好奇我们并没有使用Tom先生很多图片组逐一显示?来,也请您下矿一走!”。“哈哈,好!不过那碗河水我还是要倒的”,“行,随你翻腾~”。


四.旋转动画(改变transform)


1.展示效果

transform变化.gif


2.Show Code


-(void)transform{

CGAffineTransform originalTransform = self.anView.transform;

[UIView animateWithDuration:2 animations:^{

//self.anView.transform = CGAffineTransformMakeScale(0.6, 0.6);//缩放

//self.anView.transform = CGAffineTransformMakeTranslation(60, -60);

self.anView.transform = CGAffineTransformMakeRotation(4.0f);

} completion:^(BOOL finished) {

[UIView animateWithDuration:2 animations:^{

self.anView.transform = originalTransform;

}];

}];

}


五.透明度动画(改变alpha)


1.展示效果


alpha变化.gif







请到「今天看啥」查看全文


推荐文章
最搞笑笑话王  ·  今日端午,发个小片给你乐一乐!
8 年前
何凯文考研英语  ·  一位坚守了65年的老贵族和世界皇室的典范
7 年前