gpt4 book ai didi

ios - 我如何判断 UIDynamicAnimator 何时处于静止状态?

转载 作者:技术小花猫 更新时间:2023-10-29 10:59:53 28 4
gpt4 key购买 nike

我正在玩 UIKitDynamics ,它真的很整洁。目前我有这段代码:

CGPoint center = [newSelectedLabel center];

[self.animator removeBehavior:self.snapBehavior];
self.snapBehavior = [[UISnapBehavior alloc] initWithItem:self.indicatorView snapToPoint:center];
self.snapBehavior.damping = 0.67;
[self.animator addBehavior:self.snapBehavior];

[self.delegate didChangeToIndex:sender.tag];

这是一个简单的捕捉行为,而且效果很好。但是,出于各种原因,我想知道系统何时进入“休息”状态 - 即一切都停止移动。我可以接受动画师的属性或委托(delegate)方法。

我该怎么做?

最佳答案

经过更多的探索,似乎 UIDynamicAnimatorDelegate这样做 - - (void)dynamicAnimatorDidPause:(UIDynamicAnimator *)animator方法似乎在系统处于静止状态时被调用。

self.animator = [[UIDynamicAnimator alloc] initWithReferenceView:self];
self.animator.delegate = self;

#pragma mark - UIDynamicAnimator Delegate
- (void)dynamicAnimatorDidPause:(UIDynamicAnimator *)animator
{
NSLog(@"pause");
}

- (void)dynamicAnimatorWillResume:(UIDynamicAnimator *)animator
{
NSLog(@"resume");
}

似乎有效 - resume 在动画开始时被记录,并且 pause 在动画停止后的一秒内被记录。

另外,running UIDynamicAnimator 本身的属性似乎反射(reflect)了对委托(delegate)方法的调用 - 当调用 willResume 时它是 1,当 时它是 0 didPause 被调用。

关于ios - 我如何判断 UIDynamicAnimator 何时处于静止状态?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22263472/

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