2012-02-15 3 views
1

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

- (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]; 

} 

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

ответ

1

вы можете добавить secondViewController в отдельный метод и вызывать этот метод с использованием performSelector: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]; 
} 
1

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

self.myTimer = [NSTimer scheduledTimerWithTimeInterval:40 target:self selector:@selector(showSecondViewController) userInfo:nil repeats:NO]; 
2

Try сделав вид невидимым, а затем быстро затухающий его через 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 
]; 
Смежные вопросы