0

我想添加CATransitionUIViewControllers正在使用的内容NSTimer

-(void)playAction:(id)sender
{
[audioPlayer play];
[self performSelector:@selector(displayviewsAction:) withObject:nil afterDelay:11.0];
}

- (void)displayviewsAction:(id)sender
{  
 First *firstController = [[First alloc] init];
 firstController.view.frame = CGRectMake(0, 0, 320, 480);
 [self.view addSubview:firstController.view];
 [self.view addSubview:toolbar];
 [firstController release];   
 self.timer = [NSTimer scheduledTimerWithTimeInterval:23 target:self selector:@selector(Second) userInfo:nil repeats:NO];     
 }

-(void)Second 
{
Second *secondController = [[Second alloc] init];
secondController.view.frame = CGRectMake(0, 0, 320, 480);
[self.view addSubview:secondController.view]; 
[self.view addSubview:toolbar];
[secondController release];
self.timer = [NSTimer scheduledTimerWithTimeInterval:27 target:self selector:@selector(Third) userInfo:nil repeats:NO];
}

当它们从第一个变为第二个时,我如何添加CATransition到这些UIViewControllers等等。

在此先感谢您的所有想法。

4

1 回答 1

3

用这个 -

-(void)Second {
    Second *secondController = [[Second alloc] init];
    secondController.view.frame = CGRectMake(0, 0, 320, 480);

    CATransition *transitionAnimation = [CATransition animation];
    [transitionAnimation setDuration:1];
    [transitionAnimation setType:kCATransitionReveal];
    [transitionAnimation setTimingFunction:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseIn]];

    [self.view.layer addAnimation:transitionAnimation forKey:kCATransitionReveal];

    [self.view addSubview:secondController.view];
    [self.view addSubview:toolbar];
    [secondController release];
    self.timer = [NSTimer scheduledTimerWithTimeInterval:27 target:self selector:@selector(Third) userInfo:nil repeats:NO];
}

// 你可以在这里定义你自己的CATransition动画类型。

于 2012-05-19T17:29:49.233 回答