首页 > 代码库 > 同时对view延时执行两个动画时候的现象
同时对view延时执行两个动画时候的现象
同时对view延时执行两个动画时候的现象
对于view延时执行了两个动画后,会将第一个动画效果终止了,直接在第一个动画的view的最后的状态上接执行后续的动画效果,也就是说,我们可以利用这个特性来写分段动画效果,比如,可以定时2秒,2秒的状态值为100%,中途可以停止,达不到2秒的效果就触发不了最终效果,这对于写控件来说是很好的一个属性哦,下次教程将会写一个按钮的特效的控件,效果类似于:
效果:
源码:
//// ViewController.m// ViewAnimation//// Created by YouXianMing on 15/1/13.// Copyright (c) 2015年 YouXianMing. All rights reserved.//#import "ViewController.h"@interface ViewController ()@property (nonatomic, strong) UIView *showView;@end@implementation ViewController- (void)viewDidLoad { [super viewDidLoad]; // 添加view self.showView = [[UIView alloc] initWithFrame:CGRectMake(10, 100, 0, 30)]; self.showView.backgroundColor = [UIColor redColor]; [self.view addSubview:self.showView]; // 1s后执行变长动画 [self performSelector:@selector(viewAnimationOne) withObject:nil afterDelay:1]; // 2s后执行缩小动画 [self performSelector:@selector(viewAnimationTwo) withObject:nil afterDelay:2];}- (void)viewAnimationOne { // 动画时间长度为3s [UIView animateWithDuration:3.f animations:^{ self.showView.frame = CGRectMake(10, 100, 0 + 300, 30); } completion:^(BOOL finished) { NSLog(@"动画1结束 %@", NSStringFromCGRect(self.showView.frame)); }]; }- (void)viewAnimationTwo { // 动画时间长度为1s [UIView animateWithDuration:1.f animations:^{ self.showView.frame = CGRectMake(10, 100, 0, 30); } completion:^(BOOL finished) { NSLog(@"动画2结束 %@", NSStringFromCGRect(self.showView.frame)); }];}@end
同时对view延时执行两个动画时候的现象
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。