fliping观点continiously(fliping view continiously)

2019-11-04 01:36发布

这是我的代码

[UIView beginAnimations:nil context:NULL];
    [UIView setAnimationDuration:1.5];  
    if ([sender tag] == 1) {
        [UIView setAnimationTransition:UIViewAnimationTransitionFlipFromLeft forView:placeholder cache:YES];
    }
    else {
        [UIView setAnimationTransition:UIViewAnimationTransitionFlipFromRight forView:self.view cache:YES];
    }
    if (view1OnTop) {
        [view1 removeFromSuperview];
        [placeholder addSubview:view2];
    }
    else {
        [view2 removeFromSuperview];
        [placeholder addSubview:view1];
    }
    [UIView commitAnimations];

    view1OnTop = !view1OnTop;

我要不断地翻转角度,对说,一些持续时间1分钟。

它应该是不断地翻转。

我该怎么做。 什么我尝试是,我希望有一个观点,这应该对某些特定时间量连续翻转。 我怎样才能做到这一点? 问候

Answer 1:

除了翻转动画,我想你有工作,你需要在当前的结束发起一个新的动画。

[UIView的commitAnimations]之前,这样做:

[UIView setAnimationDelegate:self];
[UIView setAnimationDidStopSelector:@selector(animationDone:finished:context:)];

新增功能

-(void)animationDone:(NSString*)id finished:(NSNumber*)n context:(void*)context

并让这火下一轮。

编辑:你通过把代码中的火动画做到这一点,所以从典型的块[UIView beginAnimations...][UIView commitAnimations] 当然,更好的办法是把动画起始码在一个单独的功能,所以外形看起来像:

...
    [self startAnimationLoop];
...

-(void)startAnimationLoop
{
    [UIView beginAnimtions...];

    // do the animation stuff

    [UIView setAnimationDelegate:self];
    [UIView setAnimationDidStopSelector:@selector(animationDone:finished:context:)];
    [UIView commitAnimations];
}

-(void)animationDone:(NSString*)id finished:(NSNumber*)n context:(void*)context
{
    [self startAnimationLoop];
}

让它去前/后,添加一些状态变量,或创建2套的这些功能,这称之为海誓山盟( startAnimationLoop1startAnimationLoop2 ,每一个发射其他完成时)



文章来源: fliping view continiously