-2

我是 iPhone 开发的新手,我正在运行iOS6.1。我有两个视图控制器,称为firstViewControllersecondViewController。我需要在 1000 毫秒后从另一个视图控制器调用一个视图控制器,而无需单击任何按钮、imageView 等。

这怎么可能?

4

6 回答 6

2

您可以使用这样的代码

NSTimer *timer;

timer=[NSTimer scheduledTimerWithTimeInterval:10.0 target:self selector:@selector(touchDetected) userInfo:nil repeats:NO];// because 1000 miliseconds=10 sec

在 touchDetected 方法中放入您的代码

-(void)touchDetected
{
    LoginPage * loginPageObj=[[LoginPage alloc]initWithNibName:@"LoginPage" bundle:nil];
    [self.navigationController pushViewController:loginPageObj animated:YES];
    [timer invalidate];
}

在这里您可以根据自己的喜好使用代码更改方法名称和 ViewControllers 名称。

希望这可以帮助。

于 2013-06-03T06:29:22.840 回答
1

你可以使用这个方法

 [self performSelector:@selector(methodToCall:) withObject:nil afterDelay:1000.0];
于 2013-06-03T06:26:40.990 回答
1

尝试

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


     -(void)pushView {

         SeconViewController *SeconViewControllerObj=[[SeconViewController alloc] initWithNibName:@"SeconViewController" bundle:nil];
         [self.navigationController pushViewController:SeconViewControllerObj animated:YES];
     }
于 2013-06-03T06:47:39.683 回答
0

您可以在一段时间后使用它调用Selector (Method)using -NSTimer

[NSTimer scheduledTimerWithTimeInterval:<#(NSTimeInterval)#> target:<#(id)#> selector:<#(SEL)#> userInfo:<#(id)#> repeats:<#(BOOL)#>];
于 2013-06-03T06:24:39.203 回答
0

你需要的是一个方法,让我们称之为

-(void)pushNextVC;

和电话

[self performSelector:@selector(pushNextVC) withObject:nil afterDelay:<#(NSTimeInterval)#>];

也可能是使用 NSTimer 的解决方案,但为此“performSelector”就足够了 :)

于 2013-06-03T06:26:21.157 回答
0

你可以利用

 [self performSelector:@selector(gotoNextView) withObject:nil afterDelay:]
于 2013-06-03T06:27:45.100 回答