gpt4 book ai didi

animation - iOS5 CGAffineTransformMakeRotation 在我第二次执行时不起作用?

转载 作者:行者123 更新时间:2023-12-02 07:41:59 27 4
gpt4 key购买 nike

我有简单的旋转变换,结合 alpha,它在第一次调用时完美运行,但第二次不会发生旋转(用户通过点击屏幕启动此动画)。

这是我的基本动画功能:

- (void) animateMe:(UIImageView *)myImage delay:(NSTimeInterval)dly
{
[UIView animateWithDuration:1.0
delay:dly
options:UIViewAnimationOptionAutoreverse
animations:^(void){
myImage.alpha = 1.0;
myImage.transform = CGAffineTransformMakeRotation(180.0);
}
completion:^(BOOL finished) {
myImage.alpha = 0.0;
}];
}

最佳答案

问题是你第二次想旋转 View 时,它已经旋转了 180 度,并且线:

myImage.transform = CGAffineTransformMakeRotation(180.0);

相当于:

myImage.transform = myImage.transform;

所以你应该这样做:

myImage.transform = CGAffineTransformRotate(myImage.transform, 180.0);

请注意 documentation说旋转角度应该以弧度而不是度数为单位。因此,您可能应该使用 M_PI 而不是 180.0

另外,请注意 documentation表示 UIViewAnimationOptionAutoreverse 必须UIViewAnimationOptionRepeat 结合使用。

UIViewAnimationOptionAutoreverse

Run the animation backwards and forwards. Must be combined with the UIViewAnimationOptionRepeat option.

关于animation - iOS5 CGAffineTransformMakeRotation 在我第二次执行时不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10156198/

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