gpt4 book ai didi

iphone - 像 iPhone 的电子邮件应用程序一样对图像进行动画处理

转载 作者:行者123 更新时间:2023-12-03 16:50:49 26 4
gpt4 key购买 nike

我想要为图像制作动画,就像当人们尝试将电子邮件移动到另一个盒子时,邮件应用程序以动画方式飞出“信封”图标一样。我尝试使用 CoreAnimation,但我有点希望它遵循弯曲的路径。

有人可以指出如何做到这一点吗?

最佳答案

UIBeizerPath 是可用于创建动画期间图像对象跟随路径的类。

试试这个动画,我已经创建了它,就像 iPhone 中的图像删除动画一样。

- (IBAction)buttonClicked:(id)sender {
UIView *senderView = (UIView*)sender;
if (![senderView isKindOfClass:[UIView class]])
return;

UIView *icon =myImageView;

//move along the path
UIBezierPath *movePath = [UIBezierPath bezierPath];
[movePath moveToPoint:icon.center];
[movePath addQuadCurveToPoint:senderView.center
controlPoint:CGPointMake(senderView.center.x, icon.center.y)];

CAKeyframeAnimation *moveAnim = [CAKeyframeAnimation animationWithKeyPath:@"position"];
moveAnim.path = movePath.CGPath;
moveAnim.removedOnCompletion = YES;


//Scale Animation
CABasicAnimation *scaleAnim = [CABasicAnimation animationWithKeyPath:@"transform"];
scaleAnim.fromValue = [NSValue valueWithCATransform3D:CATransform3DIdentity];
scaleAnim.toValue = [NSValue valueWithCATransform3D:CATransform3DMakeScale(0.1,0.1, 1.0)];
scaleAnim.removedOnCompletion = YES;


CAAnimationGroup *animGroup = [CAAnimationGroup animation];
animGroup.animations = [NSArray arrayWithObjects:moveAnim, scaleAnim, nil];
animGroup.duration = 1.0;
[icon.layer addAnimation:animGroup forKey:nil];

// create timer with time of animation to change the image.

}

记得在你的项目中导入QuartzCore Framework,并将其导入到你的头文件中。

关于iphone - 像 iPhone 的电子邮件应用程序一样对图像进行动画处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9512880/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com