アプリケーションのホームページで、PNG画像をアニメーション化してビューにスライドさせ、次に2番目の画像をスライドインしてからスライドアウトする前に再度スライドさせたいと思います。それぞれが消える前に、視聴者が読むだけの時間。これを行う方法がわからないので、入力をお願いします。とてもシンプルなようです。そうだといいのですが、誰かが私にその方法を教えてくれます。また、ループで表示したいので、画面に戻るたびにアニメーションが表示されます。
何かアイデアはありますか?たった1日かそこらで終わります
アプリケーションのホームページで、PNG画像をアニメーション化してビューにスライドさせ、次に2番目の画像をスライドインしてからスライドアウトする前に再度スライドさせたいと思います。それぞれが消える前に、視聴者が読むだけの時間。これを行う方法がわからないので、入力をお願いします。とてもシンプルなようです。そうだといいのですが、誰かが私にその方法を教えてくれます。また、ループで表示したいので、画面に戻るたびにアニメーションが表示されます。
何かアイデアはありますか?たった1日かそこらで終わります
これにはCoreAnimationを使用できます。とても簡単です。アニメーションの例:
UIImageView *imageView = ...;
imageView.frame = CGRectMake(-160, 100, 250, 200);
[UIView animateWithDuration:1.5 animations:^{
imageView.frame = CGRectMake(160, 100, 250, 200);
}];
これによりUIImageView
、x座標が-160から160まで1.5秒でアニメーション化されます。
多かれ少なかれ、TomvanZummerenの答えを拡張するだけです。これは、基本的な考え方を理解するのに十分なはずです。
- (void)viewDidAppear:(BOOL)animated
{
[super viewDidAppear:animated];
UIImageView *myImageView = [[UIImageView alloc] initWithFrame:CGRectMake(20, -280, 280, 280)];
[myImageView setImage:[UIImage imageNamed:@"1.png"]];
[self.view addSubview:myImageView];
[UIView animateWithDuration:2.0 delay:1.0 options:UIViewAnimationOptionCurveEaseOut animations:^{
[myImageView setCenter:self.view.center];
}completion:^(BOOL done){
[UIView animateWithDuration:2.0 delay:3.0 options:UIViewAnimationOptionCurveEaseIn animations:^{
[myImageView setCenter:CGPointMake(myImageView.center.x, self.view.bounds.size.height + (myImageView.bounds.size.height / 2))];
}completion:^(BOOL done){
[myImageView setFrame:CGRectMake(20, -280, 280, 280)];
NSLog(@"%@",NSStringFromCGRect(myImageView.frame));
[myImageView setImage:[UIImage imageNamed:@"2.png"]];
}];
}];
}
//出発点
pImgFlowing.frame = CGRectMake(544, 817, 84, 18);
[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:2.0f];
[UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];
//終点
pImgFlowing.frame = CGRectMake(544, 774, 84, 61);
[UIView commitAnimations];