gpt4 book ai didi

iOS UIView 动画取消不起作用

转载 作者:行者123 更新时间:2023-12-01 17:31:14 27 4
gpt4 key购买 nike

我有两个图像 mosha1 和 mosha2。我通过 UIView 动画将它们从某个位置移动到另一个点 (206,89)。现在我想如果用户在移动时触摸任何图像,该图像的移动就会停在那里。所以我设置了停止动画运动的代码:

[mosha1.layer removeAllAnimations];

这个方法调用停止了图像的移动,但是它显示在点 (206,89) 中。但它应该出现在用户触摸它的确切位置。如何解决这个问题?

UIView 动画方法:
-(void)moshaMoveUp: (UIImageView *)mosha {

[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:3.0];
[UIView setAnimationDelay:0];
[UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];
[UIView setAnimationDelegate:self];
mosha.center = CGPointMake(206, 89);
[UIView commitAnimations];

}

最佳答案

原因是动画如何与不同的图层一起工作。开始动画的那一刻,您的对象在逻辑上立即到达目的地。然而,有一个表示层显示对象向目的地移动。
因此,如果要停止对象,则需要从 UIView 的表示层获取其当前位置。 ,将其分配给 View 的位置,然后删除动画,您的对象应该在正确的位置。

关于iOS UIView 动画取消不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21676201/

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