отображать подпредставления с задержкой - PullRequest
1 голос
/ 15 февраля 2012

Когда это действие выполняется, оно отображает второй viewcontroller напрямую, я хочу, чтобы viewcontroller отображал первым, а через 40 или 50 секунд он отображал secondviewcontroller следующим и так далее.

- (void)displayviewsAction:(id)sender
{
PageOneViewController *viewController = [[PageOneViewController alloc] init];

viewController.view.frame = CGRectMake(0, 0, 320, 480);

SecondViewController *secondController = [[SecondViewController alloc] init];

secondController.view.frame = CGRectMake(0, 0, 320, 480);

[self.view addSubview:viewController.view];

[self.view addSubview:secondController.view]; 

[self.view bringSubviewToFront:viewController.view];

[self.view addSubview:toolbar];

[self.view sendSubviewToBack:viewController.view];

[self.view addSubview:toolbar];

}

У кого-нибудь есть идеи, как я могу это сделать.

Ответы [ 3 ]

2 голосов
/ 15 февраля 2012

Попробуйте сделать вид невидимым, а затем быстро исчезнуть через 40 секунд.

secondController.view.alpha = 0.0;
[self.view addSubview:secondController.view];
[UIView animateWithDuration:0.5
            delay:40 
            options:UIViewAnimationCurveEaseInOut 
            animations:^{
                secondController.view.alpha = 1.0;
            }
            completion:NULL
];
1 голос
/ 15 февраля 2012

Альтернативой / дополнением к методу, описанному Aravindhanarviless, является использование NSTimer:

self.myTimer = [NSTimer scheduledTimerWithTimeInterval:40 target:self selector:@selector(showSecondViewController) userInfo:nil repeats:NO];
1 голос
/ 15 февраля 2012

Вы можете добавить secondViewController в отдельный метод и вызывать этот метод, используя executeSelector: withObject: afterDelay

- (void)displayviewsAction:(id)sender {

PageOneViewController *viewController = [[PageOneViewController alloc] init];    
viewController.view.frame = CGRectMake(0, 0, 320, 480); 
[self.view addSubview:viewController.view];
[self performSelector:@selector(secondViewController) withObject:nil afterDelay:40];  
}


-(void)secondViewController {

SecondViewController *secondController = [[SecondViewController alloc] init];
secondController.view.frame = CGRectMake(0, 0, 320, 480);
[self.view addSubview:secondController.view];
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...