在ViewDidLoad中将视图控制器显示为模态视图

时间:2015-05-05 14:53:12

标签: ios objective-c uiviewcontroller

我在这里搜索,我找不到合适的答案。我正在使用故事板。项目在iOS 6及更高版本中。我有一个根视图,我在其中从一个服务加载一些数据。我没有连接故事板内的任何内容,因为我需要在程序中选择何时显示某些视图。在这种情况下,我需要在用户第一次启动应用程序时显示模态视图或弹出视图。用户打开应用程序,然后检查用户是否已注册,如果没有,则使用语言视图选择器显示我的模态视图。我正在做所有事情 - (void)viewDidAppear:(BOOL)动画方法。 这是我在viewDidAppear中的实现:

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];

NSString *firstTimeOpenedApp = [defaults objectForKey:FirstTimeOpenedApp];
if (firstTimeOpenedApp == nil)
{
    [self performSelector:@selector(presentLanguageViewController) withObject:nil afterDelay:1];
}

我的选择器:

- (void)presentLanguageViewController
{
  LanguageViewController *viewController = [self.storyboard instantiateViewControllerWithIdentifier:LangaugeViewControllerIdentifier];
  viewController.languageViewModel = [LanguageViewModel new];
  [self presentViewController:viewController animated:YES completion:nil];
}

问题在于它始终显示一秒钟,之后屏幕为黑色。我知道它有一些事情要做,只有一个视图控制器可以打开'',但是如何保留它。我做错了什么以及如何解决?谢谢

0 个答案:

没有答案