【发布时间】:2011-10-19 17:49:30
【问题描述】:
好的,所以我一直在搜索,但无法找到此问题的答案。 (而且我认为我找不到它,因为这是一个非常简单的答案,除了我之外每个人似乎都知道。)我正在为 IOS 创建一个应用程序,其中有一些打开动画,然后我需要停止打开动画并然后发生不同的动画。所以我的开场动画工作正常,我让它在最后一帧停止。如何让新动画在开场动画结束时开始?我在 viewDidLoad() 函数下使用 UIImageView。这是我的 ViewController.m 文件的代码:
@implementation ViewController
@synthesize hook_drop_one;
@synthesize hook_swing_one;
- (void)viewDidLoad
{
[super viewDidLoad];
hook_drop_aone=[[NSMutableArray alloc] init];
for (int i=1; i<16; i++) {
NSString *hookpic=[NSString stringWithFormat: @"hook%d.png",i];
UIImage *img = [UIImage imageNamed:hookpic];
if (img) [hook_drop_aone addObject:img];
[hook_drop_one setAnimationImages:(hook_drop_aone)];
[hook_drop_one setAnimationDuration:0.9f];
[hook_drop_one setAnimationRepeatCount:1];
[hook_drop_one startAnimating];
}
hook_swing_aone=[[NSMutableArray alloc] init];
for (int i=1; i<230; i++) {
NSString *hookswingpic=[NSString stringWithFormat: @"hookswing%d.png",i];
UIImage *img = [UIImage imageNamed:hookswingpic];
if (img) [hook_swing_aone addObject:img];
[hook_swing_one setAnimationImages:(hook_swing_aone)];
[hook_swing_one setAnimationDuration:10.2f];
[hook_swing_one startAnimating];
}
}
我的 ViewController.h 文件中的代码:
#import <UIKit/UIKit.h>
@interface ViewController : UIViewController{
IBOutlet UIImageView *hook_drop_one;
NSMutableArray *hook_drop_aone;
IBOutlet UIImageView *hook_swing_one;
NSMutableArray *hook_swing_aone;
}
@property (nonatomic,retain)UIImageView *hook_drop_one;
@property (nonatomic,retain)NSMutableArray *hook_drop_aone;
@property (nonatomic,retain)UIImageView *hook_swing_one;
@property (nonatomic,retain)NSMutableArray *hook_swing_aone;
@end
现在我明白了为什么两个动画会在应用加载时同时运行。我需要弄清楚如何在第一个动画停止后触发一个动画,或者为第二个动画设置延迟。
有人有什么想法吗?
【问题讨论】: