gpt4 book ai didi

ios - 如何用 UIGravityBehavior 停止某些事情?

转载 作者:行者123 更新时间:2023-12-01 18:17:30 24 4
gpt4 key购买 nike

我有一些使用 UIDynamicAnimation 的 UIView,特别是 UIGravityBehavior。我需要知道如何让他们随时停止和启动。

我一直在尝试手动设置行为属性的各种组合,例如将重力设置为 0、0,或者分别将幅度和矢量设置为 0,甚至一次将所有这些加上角度设置为 0 ,而事情只是继续前进。

我可以将它们移动到不同的位置,但它们只是保持以前的势头并继续移动。

我能想到的最后一件事是从行为中完全删除 View ,但我需要在很多不同的时间停止和启动,这看起来非常非常笨拙。这是唯一的方法吗?

最佳答案

方法:

[aView removeMotionEffect:effect];

已优化,因此您不必害怕执行它。
我的猜测是,与他们的矢量和重力“玩耍”,同时管理大量 View 将比仅仅消除他们的行为要困难得多。

你可以使用这个片段:
- (void)removeMotionEffectsFromViews:(NSArray *)views
{
for (id obj in views) {

if ([obj isKindOfClass:[UIView class]]) {

UIView *aView = (UIView *)obj;

for (UIMotionEffect *effect in [aView motionEffects]) {
[aView removeMotionEffect:effect];
}
}
}

[self.animator /*UIDynamicAnimator*/ removeAllBehaviors];
}

关于ios - 如何用 UIGravityBehavior 停止某些事情?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20387058/

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