Ios 如何在一定程度上将UIImageview从A点移动到B点
在某种程度上,我想把一个UIImageview从a点移到B点。 红色和蓝色箭头表示我希望点移动的程度 我可以把点从一个点移动到另一个点,但是我如何在一定程度上移动音符呢Ios 如何在一定程度上将UIImageview从A点移动到B点,ios,objective-c,uiimageview,core-animation,Ios,Objective C,Uiimageview,Core Animation,在某种程度上,我想把一个UIImageview从a点移到B点。 红色和蓝色箭头表示我希望点移动的程度 我可以把点从一个点移动到另一个点,但是我如何在一定程度上移动音符呢 NSLog(@"cgpoint %@",NSStringFromCGPoint(self.aggressiveDots.frame.origin)); CAKeyframeAnimation *anim = [CAKeyframeAnimation animationWithKeyPath:@"position"];
NSLog(@"cgpoint %@",NSStringFromCGPoint(self.aggressiveDots.frame.origin));
CAKeyframeAnimation *anim = [CAKeyframeAnimation animationWithKeyPath:@"position"];
NSArray *times = [NSArray arrayWithObjects:[NSNumber numberWithFloat:0.0], nil];
[anim setKeyTimes:times];
NSArray *values = [NSArray arrayWithObjects:[NSValue valueWithCGPoint:CGPointMake(118, 188.)],
[NSValue valueWithCGPoint:CGPointMake(115, 300.)], nil];
[anim setValues:values];
[anim setDuration:6.0]; //seconds
[self.redDots.layer addAnimation:anim forKey:@"position"];
由于您希望沿直线(而非曲线)移动UIView,因此您只需要两个点即可进行关键帧的移动—起点和终点。事实上,如果需要,您甚至可以使用[UIView transistionWithView:]进行此操作-只需操纵动画块中的帧即可
- 你已经知道出发点了李>
- 要计算终点,您需要找到红色圆的边与白色圆相交的点。有一个方程可以解两个圆的交点
- 使用简单的直线方程y=mx+b,让第一个圆沿直线向下移动
- 使用概述的公式测试圆的边(即沿中心前方直线的半径点)是否在三角形内
“一般来说,
x
和y
必须满足(x-中心x)^2+(y-中心y)^2
”因为您希望沿直线(而不是曲线)移动UIView,所以您的CAKeyKeyFrameanimation只需要两个点—起点和终点。事实上,如果需要,您甚至可以使用[UIView transistionWithView:]进行此操作-只需操纵动画块中的帧即可
- 你已经知道出发点了李>
- 要计算终点,您需要找到红色圆的边与白色圆相交的点。有一个方程可以解两个圆的交点
- 使用简单的直线方程y=mx+b,让第一个圆沿直线向下移动
- 使用概述的公式测试圆的边(即沿中心前方直线的半径点)是否在三角形内
“一般来说,
x
和y
必须满足(x-中心x)^2+(y-中心y)^2
”你所说的“在一定程度上移动注释”是什么意思?@rmaddy附在第二张图片上。要将红点移向白点如果您知道这两点,只需使用UIView animateWithDuration:delay:options:animations:completion:
或其变体之一设置帧中更改的动画即可。我还是不明白这个问题。如果你知道如何将点从一个点移动到另一个点,你不知道什么部分?你所说的“在一定程度上移动音符”是什么意思?@rmaddy附在第二张图片上。要将红点移向白点如果您知道这两点,只需使用UIView animateWithDuration:delay:options:animations:completion:
或其变体之一设置帧中更改的动画即可。我还是不明白这个问题。如果你知道如何将点从一个点移动到另一个点,你不知道什么部分?