簡體   English   中英

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

[英]How to stop something with a UIGravityBehavior?

我有一些使用UIDynamicAnimation的UIViews,特別是UIGravityBehavior。 我需要知道如何讓它們隨時停止和啟動。

我一直在嘗試手動設置行為屬性的各種組合,比如將重力設置為0,0,或者將幅度和向量分別設置為0,或者甚至將所有加上角度的組合設置為0 ,事情就是繼續前進。

我可以將它們移動到不同的位置,但它們只保留了之前的動力並繼續前進。

我能想到的最后一件事是完全從行為中刪除視圖,但我需要停止並開始很多不同的時間,這看起來非常笨重。 這是唯一的方法嗎?

方法:

[aView removeMotionEffect:effect];

優化,所以你不應該害怕執行它。 我的猜測是“玩”他們的矢量和引力,而管理大量的視圖將比解除他們的行為困難得多。

你可以使用這個片段:

- (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];
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM