繁体   English   中英

动画图像/ UIView iOS

[英]animate image/UIView iOS

在我的应用程序的主页上,我想为一个PNG图像制作动画,使其滑入视图,然后再次滑出,然后再滑入另一个图像,然后滑出。 观看者在消失之前要阅读的时间。 我不知道该怎么做,想要一些输入吗? 似乎很简单,我希望是这样,有人可以指导我该怎么做。 我也希望它能循环播放,因此无论何时回到屏幕,它都将保持动画。

有什么想法吗? 仅需一天左右即可完成

您可以为此使用Core Animation。 这真的很容易做到。 动画示例:

UIImageView *imageView = ...;
imageView.frame = CGRectMake(-160, 100, 250, 200);
[UIView animateWithDuration:1.5 animations:^{
    imageView.frame = CGRectMake(160, 100, 250, 200);
}];

这样可以在1.5秒内将UIImageView的x坐标-160设置为160。

或多或少只是扩大了汤姆·范·祖默伦的答案。 这应该足以使基本思想得以传播。

- (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];

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM