0

次の状況。

ストーリーボードには、2つのViewControllerがあります。ViewController_1およびViewController_2。最初のViewController_1が開き、viewdidload voidが読み込まれた場合、ユーザーの介入なしに、一定時間(調整可能)後に次のViewController_2に自動的に移動するにはどうすればよいですか?私は自分のメソッドにこの自己呼び出しを使用しています:

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

しかし、ビューコントローラを使用してメソッドを記述してビューコントローラの遷移を行う方法はわかりません。何か案は?

4

3 に答える 3

1

ストーリーボードの最初のビューから2番目のビューにセグエ(あるビューから別のビューへの矢印)を作成します。

toNewViewController次に、メソッドを呼び出す必要があります。

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

この呼び出しは、最初のビューから2番目のビューへの遷移を実行します。

于 2013-01-23T07:20:15.620 に答える
0

まず、2番目のビューコントローラを表示する関数を作成する必要があります。

[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];
}
于 2013-01-23T07:24:53.773 に答える
0

コントローラの転送をインターセプトしてターゲットViewControllerを設定するためにも、これが必要になる場合があります。

- (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;
        }
}
于 2013-01-23T08:35:32.387 に答える