目标C:如何从appdelegate呈现模态视图控制器?

Zhe*_*hen 6 objective-c modalviewcontroller ios

我在申请的appdelegate.如何在"didfinishlaunching"方法中添加模态视图控制器?

我尝试了以下但没有奏效

SomeViewController *vc = [[SomeViewController alloc]init];
[self.tabController.navigationController presentModalViewController:vc animated:NO]; 
Run Code Online (Sandbox Code Playgroud)

编辑:我将我的实现改为以下

self.tabController.selectedViewController 
= [self.tabController.viewControllers objectAtIndex:0];
SomeViewController *vc = [[SomeViewController alloc]init];
[self.tabController.selectedViewController presentModalViewController:vc animated:NO];
Run Code Online (Sandbox Code Playgroud)

我检查了'选择的视图控制器'不是空的...但是我仍然无法获得我需要的输出.有什么我想念的吗?

Joe*_*Joe 19

假设tabController和navigationController不是nil,applicationDidFinishLaunching可能为时过早,无法显示模态视图控制器.

  1. 确保在制作窗口键并显示后放置该代码. [self.window makeKeyAndVisible];
  2. 如果这不起作用,请尝试侦听UIWindowDidBecomeKeyNotification该窗口
  3. 您可以尝试使用performSelector:withObject:afterDelay延迟该模态的呈现几秒钟: