自动更改为下一个ViewController

时间:2013-01-23 07:10:48

标签: iphone ios objective-c xcode ipad

以下情况。

在故事板中,我有两个ViewControllers。 ViewController_1 ViewController_2 。当第一个 ViewController_1 打开并且viewdidload void加载时,如何在一段时间后自动移动到下一个 ViewController_2 我可以调整 >)没有任何用户干预?我正在使用这个自我调用方法:

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

但我不确定,如何使用视图控制器编写方法来查看控制器转换。有什么想法吗?

3 个答案:

答案 0 :(得分:1)

从第一个视图到第二个视图在故事板中创建一个segue(从一个View到另一个View的箭头)。

然后你需要调用toNewViewController方法:

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

此调用将执行从第一个视图到第二个视图的转换。

答案 1 :(得分:0)

首先,您必须创建一个能够呈现第二个视图控制器的函数。

[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];
}

答案 2 :(得分: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;
        }
}