2013-01-23 44 views
0

以下情況。自動更改爲下一個ViewController

在故事板中我有兩個ViewControllers。 ViewController_1ViewController_2。當第一ViewController_1打開,viewDidLoad中虛空做負載,我怎麼能自動移動到下一個ViewController_2一定時間(我可以調整),無須用戶干預後?我使用這個自調出我的方法:

[self performSelector:@selector(toNewViewController:) withObject:nil 
afterDelay:timeInSeconds]; 

但我不知道怎麼寫與視圖控制器的方法來查看控制器的過渡。有任何想法嗎?

回答

1

在您的故事板中從第一個視圖到第二個視圖創建一個segue(從一個視圖到另一個視圖)。

然後,你需要在你的toNewViewController方法來調用:

[self performSegueWithIdentifier:@"nameOfYourSegue" sender:self]; 

這個調用會從你的第一個視圖進行到第二個過渡。

+1

謝謝您的回答我很感激......!你的解決方案對我的方法工作得很好,非常感謝......! – XJNR

0

首先,你必須創建一個函數,它將呈現你的第二個viewcontroller。

[NSTimer scheduledTimerWithTimeInterval:certainTime target:self selector:@selector(presentnextView) userInfo:nil repeats:NO]; 

-(void)presentnextView 
{ 
    ViewController *secondView=[[ViewController alloc] init]; 
    [self presentViewController:secondView animated:YES completion:nil]; 
    [secondView release]; 
} 
+1

你可以在沒有NSTimer的情況下使用相同的東西,就像你使用[performSelector:withObject:afterDelay:]一樣。它會正常工作。 :) – vshall

+0

感謝您的回答,我很感激它..! – XJNR

0

您可能還需要該攔截器傳輸和設置您的目標視圖控制器:

- (void) prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender 
{ 
     if ([[segue identifier] isEqualToString:@"nameOfYourSegue"]) { 
       /* In my case its navigation controller, for you it may be different */ 
       UINavigationController *navi = [segue destinationViewController]; 
       ComposeViewController *compose = [navi.viewControllers objectAtIndex:0]; 
       compose->delegate = self; 
       compose.login = self.login; 
       compose.name = self.name; 
     } 
} 
相關問題