Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 若项的中心在引用视图之外,UIGravityBehavior和UICollisionBehavior将不起作用_Ios_Objective C_Animation_Uikit Dynamics - Fatal编程技术网

Ios 若项的中心在引用视图之外,UIGravityBehavior和UICollisionBehavior将不起作用

Ios 若项的中心在引用视图之外,UIGravityBehavior和UICollisionBehavior将不起作用,ios,objective-c,animation,uikit-dynamics,Ios,Objective C,Animation,Uikit Dynamics,编辑:通过设置自定义边界,我能够基于线程解决此问题,但是我仍然想知道,如果视图的中心位于参考视图之外,为什么视图不会掉落 如何使一个视图落入另一个视图,但停在该视图的底部? 我注意到的是,如果子视图(要设置动画的视图)的中心位于superview(参考视图)之外,则视图不会倒塌 我有一个边界为{0,0,320,556}的超级视图。我有另一个视图,作为子视图添加,大小为{320556} 我需要使子视图从{0,-456,320,556}下降到{0,032032556}(基本上,只有一小部分(比如1

编辑:通过设置自定义边界,我能够基于线程解决此问题,但是我仍然想知道,如果视图的中心位于参考视图之外,为什么视图不会掉落


如何使一个视图落入另一个视图,但停在该视图的底部?

我注意到的是,如果子视图(要设置动画的视图)的中心位于superview(参考视图)之外,则视图不会倒塌

我有一个边界为{0,0,320,556}的超级视图。我有另一个视图,作为子视图添加,大小为{320556}

我需要使子视图从{0,-456,320,556}下降到{0,032032556}(基本上,只有一小部分(比如100个点)是可见的,它必须一直下降才能填充超级视图

这是初始状态的图示(两个视图的大小应相同)

以下是动画代码:

self.dynamicAnimator = [[UIDynamicAnimator alloc] initWithReferenceView:self.view];

UIGravityBehavior *gravity = [[UIGravityBehavior alloc] initWithItems:@[self.subView]];
[self.dynamicAnimator addBehavior:gravity];

UICollisionBehavior *collision = [[UICollisionBehavior alloc] initWithItems:@[subView]];
collision.translatesReferenceBoundsIntoBoundary = YES;
[self.dynamicAnimator addBehavior:collision];