0

我正在尝试制作从菜单按钮中弹出的按钮(类似于路径上的 + 按钮),并使用 UIDynamicAnimator 为按钮的进出设置动画。它有效,代码非常简单。

    _animator = [[UIDynamicAnimator alloc] initWithReferenceView:sender.superview];

    UIDynamicItemBehavior *resistance = [[UIDynamicItemBehavior alloc] initWithItems:@[_cartBtn, _chatBtn, _eventBtn]];
    resistance.resistance = 5.0f;
    [_animator addBehavior:resistance];

    CGFloat radius = 75;
    CGPoint target = sender.center;
    target.x += radius * cos(GLKMathDegreesToRadians(265));
    target.y += radius * sin(GLKMathDegreesToRadians(265));
    UISnapBehavior *snapBehavior = [[UISnapBehavior alloc] initWithItem:_cartBtn snapToPoint:target];
    [_animator addBehavior:snapBehavior];

    target = sender.center;
    target.x += radius * cos(GLKMathDegreesToRadians(225));
    target.y += radius * sin(GLKMathDegreesToRadians(225));
    UISnapBehavior *snapBehavior2 = [[UISnapBehavior alloc] initWithItem:_chatBtn snapToPoint:target];
    [_animator addBehavior:snapBehavior2];

    target = sender.center;
    target.x += radius * cos(GLKMathDegreesToRadians(185));
    target.y += radius * sin(GLKMathDegreesToRadians(185));
    UISnapBehavior *snapBehavior3 = [[UISnapBehavior alloc] initWithItem:_eventBtn snapToPoint:target];
    [_animator addBehavior:snapBehavior3];

这样,所有三个按钮都会一起弹出。我要问的是是否可以使用 UIDynamicAnimator 或其他简单的方法使按钮一个接一个地动画出来?

4

1 回答 1

0

显然我只需要添加一个微小的延迟,[[NSRunLoop currentRunLoop] runUntilDate:[NSDate dateWithTimeIntervalSinceNow:0.1]];比如addBehavior:

于 2016-04-13T06:12:32.720 回答