5秒后从第一个视图控制器移动到秒

时间:2013-10-10 12:42:46

标签: ios uiviewcontroller

我需要知道如何在5秒后从第一个ui视图控制器移动到第二个视图控制器。如何定义自动移动的时间,是通过导航控制器以及通过哪种方法?

3 个答案:

答案 0 :(得分:4)

使用performSelector

- (void)viewDidLoad{

    [self performSelector:@selector(loadingNextView) 
               withObject:nil afterDelay:5.0f];
}

- (void)loadingNextView{

    myViewController = [[MyViewController alloc] init];
    [self.navigationController pushViewController:myViewController animated:YES];
}

dispatch_after上的main_queue

dispatch_after(dispatch_time(DISPATCH_TIME_NOW, 5.0f * NSEC_PER_SEC),            
                dispatch_get_current_queue(), ^{

    [self loadingNextView];
});

答案 1 :(得分:3)

您需要定义一个计时器(或使用GCD / performSelector:)以在延迟后触发方法调用。然后在该方法中,您可以触发视图控制器更改(如何执行此操作取决于当前和下一个视图控制器之间的关系,并且不受执行延迟的代码的影响)。

答案 2 :(得分:0)

在main_queue上使用NSTimer或dispatch_after。