UIView动画分析

 1 // UIView动画分析
 2
 3 #import "ViewController.h"
 4
 5 @interface ViewController ()
 6
 7 @property (nonatomic,strong) UIView *myView;
 8
 9 @end
10
11 @implementation ViewController
12
13
14
15 // 懒加载是get方法啊
16 -(UIView *)myView{
17     if (_myView == nil) {
18         _myView = [[UIView alloc]init];
19         _myView.backgroundColor = [UIColor orangeColor];
20         _myView.frame = CGRectMake(100, 100, 100, 100);
21     }
22     return _myView;
23 }
24
25
26
27 -(void)viewDidLoad {
28     [super viewDidLoad];
29     self.myView.center = CGPointMake(self.view.center.x, 0);
30      [self.view addSubview:_myView];
31 }
32
33 -(void)touchesBegan:(nonnull NSSet<UITouch *> *)touches withEvent:(nullable UIEvent *)event{
34
35     NSLog(@"begin");
36     [UIView animateWithDuration:2.0 delay:0.0 usingSpringWithDamping:0.5 initialSpringVelocity:10.0 options:0 animations:^{
37         NSLog(@"开始动画");
38         self.myView.center = self.view.center;
39     } completion:^(BOOL finished) {
40         NSLog(@"完成动画");
41     }];
42     NSLog(@"over");
43
44 }
45 @end

结论:

block是一个C语言的预先准备好的代码在需要的时候执行。而UIView系统封装的动画是立即执行。所以在回调中写了代码后就立马执行的。一开始是begin,接下来是开始动画,然后异步over,再完成动画。

时间: 2024-11-16 12:45:48

UIView动画分析的相关文章

iOS手机淘宝加入购物车动画分析

本文转载至 http://www.jianshu.com/p/e77e3ce8ee24 1.最终效果 仿淘宝动画 2.核心代码 _cartAnimView=[[UIImageView alloc] initWithFrame:CGRectMake(_propView.frame.size.height*0.025,_propView.frame.size.height* -0.025 , _propView.frame.size.height*0.2, _propView.frame.size.

iOS 手机淘宝加入购物车动画分析

1.最终效果 仿淘宝动画 2.核心代码 _cartAnimView=[[UIImageView alloc] initWithFrame:CGRectMake(_propView.frame.size.height*0.025,_propView.frame.size.height* -0.025 , _propView.frame.size.height*0.2, _propView.frame.size.height*0.2)]; [self.view addSubview:_cartAni

UIView动画效果

做出UI界面,实现程序功能,是重中之重,但是通过动画提升使用体验,一般人应该不会拒绝吧. 那么问题又来了,怎么做? 一: 稳扎稳打: 一步一步来吧,毕竟,心急吃不了热豆腐. 1.开启一个动画 2,设置该动画的各种属性:动画时长.延时执行.自动返回.动画重复次数.转场动画... 3,设置动画的UI的结束时的状态是什么,UI的最终位置等. 4,提交动画. 大功告成.具体细节如下: //===---开始动画 ---=== [UIView beginAnimations:nil context:nil]

UIView动画

1.淡入效果 // MARK: - UIView动画-淡入 @IBAction func simpleAnimationFadeIn() { UIView.beginAnimations(nil, context: nil) UIView.setAnimationDuration(2.0)//设置动画时间 testImageView.alpha = 0.0 UIView.commitAnimations() // //通过闭包实现 UIView淡入 // UIView.animateWithDu

GIF动画,菊花动画,UIView动画,CoreAnimation动画(CALayer动画)的用法

1.GIF动画 1 // 创建一个显示图片的imageView // viewController创建 2 UIImageView *showGifImageView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 414, 736)]; 3 [self.view addSubview:showGifImageView]; 4 5 6 //创建一个存储图片的数组 7 NSMutableArray *saveImageViewArray

UIView 动画

 UIView 动画 1.动画的作用 提高用户体验, 合理使用动画 2.动画的分类 a.UIView动画, 基于CALayer动画, 是对CALayer动画的封装 i.属性动画 ii.过渡动画 b.CAlayer动画 i.基本动画 ii.关键帧动画 iii.过渡动画 iv.组动画 3.UIView动画是对UIview(或子类)做的动画 a.属性动画和过渡动画都分了两种写法(动画块, block) b.属性动画和过渡动画可以同时执行 4.什么是CALayer? 用于控制渲染和展示内容 UIView

iOS开发——动画编程OC篇&amp;(六)UIView动画

UIView动画 一.UIView动画(首尾) 1.简单说明 UIKit直接将动画集成到UIView类中,当内部的一些属性发生改变时,UIView将为这些改变提供动画支持 执行动画所需要的工作由UIView类自动完成,但仍要在希望执行动画时通知视图,为此需要将改变属性的代码放在[UIView beginAnimations:nil context:nil]和[UIView commitAnimations]之间 常见方法解析: + (void)setAnimationDelegate:(id)d

定时器与 UIView 动画结合的雪花降落的效果

1 #import "HUAppDelegate.h" 2 3 @implementation HUAppDelegate 4 5 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 6 { 7 self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScr

iOS动画1 — UIView动画

iOS动画1 — UIView动画 iOS动画基础是Core Animation核心动画.Core Animation是iOS平台上负责图形渲染与动画的基础设施.由于核心动画的实现比较复杂,苹果提供了实现简单动画的接口—UIView动画.UIView动画封装在UIView的Category中,主要实现一些简单和常用的动画.UIView动画是对核心动画进行了一层封装,所以最终动画还是通过Core Animation的接口实现. 主要的动画效果都可以通过UIView动画和Core Animation