我知道如何使用逐帧方法添加动画UIImageView但我的问题是关于如何在视图控制器故事板上添加UIImageView ALREADY 作为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
为这个图像添加动画效果答案 0 :(得分:5)
这更容易。首先,添加.h文件:
@property (nonatomic, retain) IBOutlet UIImageView *iV;
之后,将此插座连接到故事板上的实际UIImageView。更改您的代码:
iV.animationImages = myImages;
iV.animationDuration = 0.25;
iV.animationRepeatCount = 1;
[iV startAnimating];
就是这样。希望这有帮助
P.S。是的,不要忘记iV = nil; in - (void)viewDidUnload方法
UPD:已添加
[self performSelector:@selector(animationDone) withObject:nil afterDelay:0.25];
startAnimating调用后,显然添加了animationDone方法:
- (void)animationDone {
[iV stopAnimating];
[iV setImage:[UIImage imageNamed:@"bookmark5.png"]];
}
答案 1 :(得分:0)
嗯,它几乎是一样的。您不需要分配图像视图[[UIImageView alloc] init]
,也不需要将其添加到viewController。其余的都一样。