首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何用UIGravityBehavior停止某些事情?

如何用UIGravityBehavior停止某些事情?
EN

Stack Overflow用户
提问于 2013-12-04 22:05:24
回答 1查看 744关注 0票数 1

我有一些UIViews正在使用UIDynamicAnimation,特别是UIGravityBehavior。我需要知道如何让他们停下来随时开始。

我一直在尝试各种组合,手动设置行为的属性,比如将重力设置为0,0,或者分别将星等和向量设置为0,甚至一次将所有的值加角度设置为0,然后物体就会继续移动。

我可以把他们移到一个不同的地方,但他们只是保持了以前的势头,并继续前进。

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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-12-05 09:36:17

方法:

代码语言:javascript
复制
[aView removeMotionEffect:effect];

是优化的,所以您不应该害怕执行它。我的猜测是,“玩”他们的矢量&重力,同时管理许多观点将比仅仅消除他们的行为要困难得多。

您可以使用以下代码片段:

代码语言:javascript
复制
- (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];
}
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20387058

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档