0

以下のコードを使用して移行を行いました

CATransition *transition = [CATransition animation];
transition.duration = duration ;
transition.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut];

transition.type = kCATransitionMoveIn;

transitioning = YES;
transition.delegate = self;

[self.view.layer addAnimation:transition forKey:nil];


fromUIView.hidden = YES;
toUIView.hidden = NO;

UIImageView *tmp = toUIView;
toUIView = fromUIView;
toUIView = tmp;

しかし、トランジション プログレス 0.3 で一時停止して何かを行い、トランジションを再開してプログレス 0.6 で何かを実行し、再開したいと考えています。出来ますか ?

4

1 に答える 1

0

私はこれまで一緒に仕事をしたことがありませんが、、、、またはでCATransitionこれを行うことができると思います。NSTimerGCDperformSelector:withObject:afterDelay:

例えば:

double delayInSeconds = 0.3;
dispatch_time_t popTime = dispatch_time(DISPATCH_TIME_NOW, delayInSeconds * NSEC_PER_SEC);
dispatch_after(popTime, dispatch_get_main_queue(), ^(void){
    [self doSomething];
});

どこにdoSomethingありますか

-(void)doSomething{
    [self pauseLayer:thisLayer];
    //do something
    [self resumeLayer:thisLayer];
}
于 2012-11-04T09:28:16.197 に答える