4

我知道如何使用逐帧方法添加动画 UIImageView 但我的问题是关于如何动画 UIImageView已经添加到视图控制器故事板上作为 IBOutlet UIImageView 。

在这种和平的代码中会发生什么变化?!

NSArray *myImages = [NSArray arrayWithObjects:
                         [UIImage imageNamed:@"bookmark1.png"],
                         [UIImage imageNamed:@"bookmark2.png"],
                         [UIImage imageNamed:@"bookmark3.png"],
                         [UIImage imageNamed:@"bookmark4.png"],
                         [UIImage imageNamed:@"bookmark5.png"],nil];

    myAnimatedView = [UIImageView alloc];

   [myAnimatedView initWithFrame:CGRectMake(0, 0, 131, 125)];

    myAnimatedView.animationImages = myImages;

    myAnimatedView.animationDuration = 0.25;

    myAnimatedView.animationRepeatCount = 1;

    [myAnimatedView startAnimating];

    [self.navigationController.view addSubview:myAnimatedView];

我想在我的 viewController 上为这个图像设置动画

http://imageshack.us/a/img717/3051/bookmarkl.gif

4

2 回答 2

5

它甚至更容易。首先,添加 .h 文件:

@property (nonatomic, retain) IBOutlet UIImageView *iV;

之后,将此插座连接到情节提要上的实际 UIImageView。更改您的代码:

iV.animationImages = myImages;
iV.animationDuration = 0.25;
iV.animationRepeatCount = 1;
[iV startAnimating];

就这样。希望这有帮助

ps 是的,别忘了 iV = nil; in - (void)viewDidUnload 方法

UPD:添加

[self performSelector:@selector(animationDone) withObject:nil afterDelay:0.25];

After startAnimating call, and obviously added animationDone method:

- (void)animationDone {
    [iV stopAnimating];
    [iV setImage:[UIImage imageNamed:@"bookmark5.png"]];
}
于 2012-09-25T07:50:53.890 回答
0

好吧,它几乎是一样的。您不需要分配图像视图[[UIImageView alloc] init],也不需要将其添加到 viewController。其余的都是一样的。

于 2012-09-25T07:40:49.380 回答