gpt4 book ai didi

UiImageView 上的 iPhone "Wobbly"动画

转载 作者:可可西里 更新时间:2023-11-01 03:23:49 25 4
gpt4 key购买 nike

我正在尝试让图标“摇晃”。

在加载我的 Controller 时,我创建了一个这样的计时器:

[NSTimer scheduledTimerWithTimeInterval:0.2 target:self selector:@selector(shakeIphonePic) userInfo:nil repeats:YES];

这是我的摇床方法:

- (void)shakeIphonePic 
{
[UIView animateWithDuration:0.09
delay:0
options:UIViewAnimationOptionAllowUserInteraction
animations:^{
self.iphonePic.layer.transform = CATransform3DMakeRotation(DegreesToRadians(8.0), 0.0, 0.0, 1.0);
}
completion:^(BOOL finished) {
[UIView animateWithDuration:0.09
animations:^(void) {
self.iphonePic.layer.transform = CATransform3DMakeRotation(DegreesToRadians(-16.0), 0.0, 0.0, 1.0);
}];
}
];
}

它没有我预期的那么好,但是......这不是主要问题。

看起来它大大减慢了我的其他 UI,这在以前是好的。

你能建议我一个更有效的方法来摇动我的图标吗?

最佳答案

CABasicAnimation* anim = [CABasicAnimation animationWithKeyPath:@"transform.rotation"];
[anim setToValue:[NSNumber numberWithFloat:0.0f]];
[anim setFromValue:[NSNumber numberWithDouble:M_PI/16]]; // rotation angle
[anim setDuration:0.1];
[anim setRepeatCount:NSUIntegerMax];
[anim setAutoreverses:YES];
[self.viewYouAreShaking.layer addAnimation:anim forKey:@"iconShake"];

Swift 版本

let anim=CABasicAnimation(keyPath: "transform.rotation")
anim.toValue=NSNumber(double: -M_PI/16)
anim.fromValue=NSNumber(double: M_PI/16)
anim.duration=0.1
anim.repeatCount=1.5
anim.autoreverses=true
viewYouAreShaking.layer.addAnimation(anim, forKey: "iconShake")

关于UiImageView 上的 iPhone "Wobbly"动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7023904/

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