【问题标题】:How to move from one view controller to another Automatically with some time?如何在一段时间内自动从一个视图控制器移动到另一个视图控制器?
【发布时间】:2018-12-18 03:26:21
【问题描述】:

我是这个开发的新手,我正在使用初始屏幕,但我不知道如何在一段时间内从一个视图控制器移动到另一个...

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

我不知道如何添加时间任何帮助.....

【问题讨论】:

  • 使用执行选择器 perform(#selector(yourFunction), with: nil, afterDelay: 1)
  • @karthikeyan 你能解释一下原因和方法吗?
  • 所以我不需要使用 [self performSegueWithIdentifier:@"nameOfYourSegue" sender:self];

标签: ios objective-c nstimer splash-screen


【解决方案1】:

你可以试试

// delay 1 second

dispatch_after(dispatch_time(DISPATCH_TIME_NOW, 1.0 * NSEC_PER_SEC), dispatch_get_main_queue(), ^{

    [self performSegueWithIdentifier:@"segueID" sender:nil];
});

dispatch_after(dispatch_time(DISPATCH_TIME_NOW, 1.0 * NSEC_PER_SEC), dispatch_get_main_queue(), ^{

    UIViewController*vc = [self.storyboard instantiateViewControllerWithIdentifier:@"VCID"];

    [self presentViewController:vc animated:YES completion:nil];
});

【讨论】:

    【解决方案2】:

    Timer Documentation

    Timer.scheduledTimer(withTimeInterval: 5, repeats: false) { (timer) in
          self.performSegue(withIdentifier: "nameOfYourSegue", sender: nil)
     }
    

    【讨论】:

      【解决方案3】:

      在 viewDidLoad 中添加这段代码

      [self performSelector:@selector(LoadMainPage:) withObject:nil afterDelay:3.0];
      

      然后,

      -(void)LoadLoginPage
      {
        LoginViewController *loginView=[self.storyboard instantiateViewControllerWithIdentifier:@"loginViewController"];
        [self.navigationController pushViewController:loginView animated:YES];
      }
      

      【讨论】:

        【解决方案4】:

        如果您想在初始视图控制器之前显示启动画面,您应该阅读 Apple 的 Human Interface Guidelines

        另外,这里有一个简单的tutorial,可帮助您创建自己的启动画面。

        编码愉快 ;)

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2020-03-20
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2019-05-26
          • 2013-07-25
          • 1970-01-01
          相关资源
          最近更新 更多