繁体   English   中英

将UIView动画化为CGPoint

[英]Animating a UIView To A CGPoint

我想知道如何将UIView动画化为特定的CGPoint。 以下是到目前为止我所拥有的(在当前状态下不起作用):

#define MOVE_ANIMATION_DURATION_SECONDS 2

NSValue *pointValue = [[NSValue valueWithCGPoint:point] retain];
[UIView beginAnimations:nil context:pointValue];
[UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];
[UIView setAnimationDuration:MOVE_ANIMATION_DURATION_SECONDS];
[UIView setAnimationDelegate:self];
[UIView setAnimationDidStopSelector:@selector(animationDidStop:finished:context:)];
[UIView commitAnimations];

在开始之后但在提交之前,请更改UI视图上的值。

尝试:

#define MOVE_ANIMATION_DURATION_SECONDS 2

[UIView beginAnimations:nil context:pointValue];
[UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];
[UIView setAnimationDuration:MOVE_ANIMATION_DURATION_SECONDS];
[UIView setAnimationDelegate:self];
[UIView setAnimationDidStopSelector:@selector(animationDidStop:finished:context:)];

CGRect frame = myUIViewObject.frame;
frame.origin = point;
myUIViewObject.frame = frame;

[UIView commitAnimations];

如果您的目标是10.5或更高,则可以通过添加到NSView的动画代理来使用Core Animation。 尝试

[[someView animator] setFrame: someNewFrame];

暂无
暂无

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

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