-1

我需要知道如何在 5 秒后从第一个 ui 视图控制器移动到第二个视图控制器。如何定义自动移动的时间,是通过Navigation Controller,通过什么方法?

4

3 回答 3

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_afteron main_queue

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

    [self loadingNextView];
});
于 2013-10-10T15:05:31.877 回答
3

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

于 2013-10-10T12:45:45.080 回答
0

在 main_queue 上使用 NSTimer 或 dispatch_after。

于 2013-10-10T13:09:57.107 回答